diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-01-18 10:47:02 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-01-18 10:47:02 -0800 |
commit | 5620fb4c5e1b5b56ed1d46871faa616d94493f85 (patch) | |
tree | 7961877449e6ccb51d01ecb62c51accab79c818c /bin | |
parent | 1a8a460553cd9df66c5de63b75a278c4598f5528 (diff) |
add -t option to cust_main-bulk_change, RT#21036
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/cust_main-bulk_change | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/bin/cust_main-bulk_change b/bin/cust_main-bulk_change index fdf53d999..02931abed 100755 --- a/bin/cust_main-bulk_change +++ b/bin/cust_main-bulk_change @@ -1,13 +1,14 @@ #!/usr/bin/perl use strict; -use vars qw( $opt_p ); +use vars qw( $opt_p $opt_t ); use Getopt::Std; use FS::UID qw(adminsuidsetup); use FS::Record qw(qsearchs); use FS::cust_main; +use FS::cust_tag; -getopts('p:'); +getopts('p:t:'); my $user = shift or &usage; adminsuidsetup $user; @@ -31,17 +32,24 @@ while (<STDIN>) { next; } + my %cust_tag = ( custnum=>$custnum, tagnum=>$opt_t ); + if ( $opt_t && ! qsearchs('cust_tag', \%cust_tag) ) { + my $cust_tag = new FS::cust_tag \%cust_tag; + my $error = $cust_tag->insert; + die "$error\n" if $error; + } + if ( $opt_p ) { $cust_main->payby($opt_p); - } - my $error = $cust_main->replace; - die "$error\n" if $error; + my $error = $cust_main->replace; + die "$error\n" if $error; + } } sub usage { - die "usage: cust_main-bulk_change -p NEW_PAYBY employee_username <custnums.txt\n"; + die "usage: cust_main-bulk_change [ -p NEW_PAYBY ] [ -t tagnum ] employee_username <custnums.txt\n"; } =head1 NAME @@ -50,13 +58,15 @@ cust_main-bulk_change =head1 SYNOPSIS - cust_main-bulk_change -p NEW_PAYBY username <custnums.txt + cust_main-bulk_change [ -p NEW_PAYBY ] [ -t tagnum ] username <custnums.txt =head1 DESCRIPTION -Command-line tool to change the payby field for a group of customers. +Command-line tool to make bulk changes to a group of customers. + +-p: new payby, for example, I<CARD> or I<DCRD> --p: new payby, for example, I<CARD> or I<DCRD>. +-t: tagnum to add if not present user: Employee username |