From 69a70c66135ece60c08584cf3b931b4ff141c47a Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Tue, 15 Nov 2016 14:52:17 -0800 Subject: add -t flag to bulk void for payment type, RT#73413 --- bin/bulk_void | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'bin/bulk_void') diff --git a/bin/bulk_void b/bin/bulk_void index a1428180e..c75da5d16 100755 --- a/bin/bulk_void +++ b/bin/bulk_void @@ -1,9 +1,13 @@ #!/usr/bin/perl +use strict; +use warnings; +use vars qw( %opt ); use FS::Misc::Getopt; use FS::Record qw(qsearch qsearchs dbh); -getopts('cpifXr:'); +getopts('s:e:cpiXr:t:'); + my $dbh = dbh; $FS::UID::AutoCommit = 0; @@ -11,22 +15,27 @@ sub usage() { "Usage: bulk_void -s start -e end -r void_reason { -c | -p | -i } + [ -t payby ] [ -X ] -s, -e: date range (required) -r: void reason text (required) --c, -p, -i, -f: void credits, payments, invoices +-c, -p, -i: void credits, payments, invoices +-t: only void payments with this payby -X: commit changes "; } -if (!$opt{start} or !$opt{end} or !$opt{r}) { +if (!$opt{s} or !$opt{e} or !$opt{r}) { die usage; } print "DRY RUN--changes will not be committed.\n" unless $opt{X}; -my $date = " WHERE _date >= $opt{start} AND _date <= $opt{end}"; +my $date = " WHERE _date >= $opt{s} AND _date <= $opt{e}"; + +my %search = (); +$search{payby} = $opt{t} if $opt{t} && $opt{p}; my %tables = ( c => 'cust_credit', @@ -45,6 +54,7 @@ foreach my $k (keys %tables) { my $cursor = FS::Cursor->new({ table => $table, + hashref => \%search, extra_sql => $date, }); my $error; -- cgit v1.2.1 From 1f2021c9b76da7cc59e2a981fbac6b24312876d2 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Tue, 15 Nov 2016 15:18:54 -0800 Subject: add -t flag to bulk void for payment type, RT#73413 --- bin/bulk_void | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'bin/bulk_void') diff --git a/bin/bulk_void b/bin/bulk_void index c75da5d16..b12b5a972 100755 --- a/bin/bulk_void +++ b/bin/bulk_void @@ -6,7 +6,7 @@ use vars qw( %opt ); use FS::Misc::Getopt; use FS::Record qw(qsearch qsearchs dbh); -getopts('s:e:cpiXr:t:'); +getopts('cpiXr:t:'); my $dbh = dbh; $FS::UID::AutoCommit = 0; @@ -26,13 +26,13 @@ sub usage() { "; } -if (!$opt{s} or !$opt{e} or !$opt{r}) { +if (!$opt{start} or !$opt{end} or !$opt{r}) { die usage; } print "DRY RUN--changes will not be committed.\n" unless $opt{X}; -my $date = " WHERE _date >= $opt{s} AND _date <= $opt{e}"; +my $date = " WHERE _date >= $opt{start} AND _date <= $opt{end}"; my %search = (); $search{payby} = $opt{t} if $opt{t} && $opt{p}; -- cgit v1.2.1 From 29d80a8582103ead0b5910391cabc45cb85fa836 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Wed, 16 Nov 2016 09:38:52 -0800 Subject: add -t flag to bulk void for payment type, RT#73413 --- bin/bulk_void | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'bin/bulk_void') diff --git a/bin/bulk_void b/bin/bulk_void index b12b5a972..8f0c882a8 100755 --- a/bin/bulk_void +++ b/bin/bulk_void @@ -32,11 +32,12 @@ if (!$opt{start} or !$opt{end} or !$opt{r}) { print "DRY RUN--changes will not be committed.\n" unless $opt{X}; -my $date = " WHERE _date >= $opt{start} AND _date <= $opt{end}"; - my %search = (); $search{payby} = $opt{t} if $opt{t} && $opt{p}; +my $date = (keys %search ? ' AND ' : ' WHERE '). + " _date >= $opt{start} AND _date <= $opt{end}"; + my %tables = ( c => 'cust_credit', p => 'cust_pay', -- cgit v1.2.1