From: Ivan Kohler <ivan@freeside.biz>
Date: Wed, 20 Dec 2017 20:47:46 +0000 (-0800)
Subject: added -f flag to continue voiding even if an error is received, RT#78977
X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=f608ed11658a0dff24d88e151756820e697352dd;p=freeside.git

added -f flag to continue voiding even if an error is received, RT#78977
---

diff --git a/bin/bulk_void b/bin/bulk_void
index f31eea5cd..5da7d15f6 100755
--- a/bin/bulk_void
+++ b/bin/bulk_void
@@ -8,7 +8,7 @@ use File::Slurp;
 use FS::Misc::Getopt;
 use FS::Record qw(qsearch qsearchs dbh);
 
-getopts('cpiXr:t:u:vk:');
+getopts('cpiXr:t:u:vk:f');
 
 my $dbh = dbh;
 $FS::UID::AutoCommit = 0;
@@ -29,6 +29,7 @@ sub usage() {
 -u: specifies a filename of customer numbers - only void for those customers
 -k: skip invoices with only this pkgpart
 -t: only void payments with this payby
+-f: force - continue voiding invoices even if some have errors
 -v: verbose - show more detail
 -X: commit changes
 ";
@@ -95,7 +96,7 @@ foreach my $k (keys %tables) {
       $error = "$table #" . $record->get($record->primary_key) . ": $error";
       print "$error\n";
       $error_count++;
-      if ( $opt{X} ) {
+      if ( $opt{X} && ! $opt{f} ) {
         $dbh->rollback;
         exit(1);
       }