From: ivan Date: Fri, 19 Nov 2010 21:58:43 +0000 (+0000) Subject: adding wipe-agent script, RT#10679 X-Git-Tag: TORRUS_1_0_9~82 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=6c447c88737be60074a02ab4f634aeaab4cbfe13 adding wipe-agent script, RT#10679 --- diff --git a/bin/wipe-agent b/bin/wipe-agent new file mode 100644 index 000000000..fbe58a804 --- /dev/null +++ b/bin/wipe-agent @@ -0,0 +1,39 @@ +#!/usr/bin/perl + +use strict; +use vars qw( $opt_a $opt_d ); +use Getopt::Std; +use FS::UID qw(adminsuidsetup); +use FS::Record qw(qsearch); +use FS::cust_main; + +die "i cancel and delete all customers of an agent - use the -d switch first and be careful - remove this line to enable"; + +getopts('a:d'); + +my $user = shift or die "usage: wipe-agent -a agentnum [ -d ] username\n"; +adminsuidsetup $user; + +die "no agentnum specified" unless $opt_a; + +foreach my $cust_main ( + + qsearch('cust_main', { 'agentnum' => $opt_a } ) + +) { + + warn "deleting ". $cust_main->name. "\n"; + + unless ( $opt_d ) { #dry run + + my @cerrors = $cust_main->cancel( quiet=>1, nobill=>1 ); + if ( @cerrors ) { + die join(' / ', @cerrors); + } + + my $error = $cust_main->delete( 'delete_financials' => 1); + die $error if $error; + + } + +}