add cancel option, RT#38145
authorIvan Kohler <ivan@freeside.biz>
Tue, 15 Sep 2015 18:38:39 +0000 (11:38 -0700)
committerIvan Kohler <ivan@freeside.biz>
Tue, 15 Sep 2015 18:38:39 +0000 (11:38 -0700)
bin/cust_main-bulk_change

index 32a6d7b..e039012 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl
 
 use strict;
-use vars qw( $opt_a $opt_p $opt_t $opt_k );
+use vars qw( $opt_a $opt_p $opt_t $opt_k $opt_c );
 use Getopt::Std;
 use FS::UID qw(adminsuidsetup);
 use FS::Record qw(qsearch qsearchs);
@@ -9,7 +9,7 @@ use FS::cust_main;
 use FS::cust_tag;
 use FS::cust_pkg;
 
-getopts('a:p:t:k:');
+getopts('a:p:t:k:c:');
 
 my $user = shift or &usage;
 adminsuidsetup $user;
@@ -64,6 +64,11 @@ while (<STDIN>) {
     }
   }
 
+  if ( $opt_c ) {
+    my @error = $cust_main->cancel( 'reason' => $opt_c );
+    die join(' / ', @error). "\n" if @error;
+  }
+
 }
 
 sub usage {
@@ -76,7 +81,7 @@ cust_main-bulk_change
 
 =head1 SYNOPSIS
 
-  cust_main-bulk_change [ -a agentnum ] [ -p NEW_PAYBY ] [ -t tagnum ] [ -k old_pkgpart:new_pkgpart,... ] username <custnums.txt
+  cust_main-bulk_change [ -a agentnum ] [ -p NEW_PAYBY ] [ -t tagnum ] [ -k old_pkgpart:new_pkgpart,... ] [ -c reasonnum ] username <custnums.txt
 
 =head1 DESCRIPTION
 
@@ -90,6 +95,8 @@ Command-line tool to make bulk changes to a group of customers.
 
 -k: old_pkgpart:new_pkgpart, for example, I<5:4>.  Multiple entries can be comma-separated.
 
+-c: Cancel customer
+
 user: Employee username
 
 =head1 BUGS