From 6c447c88737be60074a02ab4f634aeaab4cbfe13 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 19 Nov 2010 21:58:43 +0000 Subject: [PATCH] adding wipe-agent script, RT#10679 --- bin/wipe-agent | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 bin/wipe-agent 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; + + } + +} -- 2.11.0