summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2016-11-15 14:52:19 -0800
committerIvan Kohler <ivan@freeside.biz>2016-11-15 14:52:19 -0800
commit760e803c76087f74788e65b63ea102d32a2af4ac (patch)
tree0b25e494db62c750dc6e2f550ee3707f322023ac
parent12becc874109c0e063be8f7bfd1b0c68571e54c4 (diff)
add -t flag to bulk void for payment type, RT#73413
-rwxr-xr-xbin/bulk_void18
1 files changed, 14 insertions, 4 deletions
diff --git a/bin/bulk_void b/bin/bulk_void
index a142818..c75da5d 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 ]
<user>
-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;