[freeside-commits] branch master updated. 636a54504bc9cc24ca4b0c222ec469ec8425e5a0

Mark Wells mark at 420.am
Tue May 10 13:10:06 PDT 2016


The branch, master has been updated
       via  636a54504bc9cc24ca4b0c222ec469ec8425e5a0 (commit)
       via  6613f62b2d2de673cc9a83646054761402389f7f (commit)
      from  0201790dca100dda71849fa5a7136512b5f5ba7b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 636a54504bc9cc24ca4b0c222ec469ec8425e5a0
Author: Mark Wells <mark at freeside.biz>
Date:   Tue May 10 12:57:54 2016 -0700

    fix voided invoice report vs. customer classes, similar to #37243

diff --git a/httemplate/search/report_cust_bill_void.html b/httemplate/search/report_cust_bill_void.html
index 91209ae..65cce5f 100644
--- a/httemplate/search/report_cust_bill_void.html
+++ b/httemplate/search/report_cust_bill_void.html
@@ -24,7 +24,7 @@
       label         => mt('Customer Class'),
       field         => 'cust_classnum',
       multiple      => 1,
-     'pre_options'  => [ '' => emt('(none)') ],
+     'pre_options'  => [ '0' => emt('(none)') ],
      'all_selected' => 1,
   &>
 

commit 6613f62b2d2de673cc9a83646054761402389f7f
Author: Mark Wells <mark at freeside.biz>
Date:   Tue May 10 12:57:18 2016 -0700

    bulk void script, #42360

diff --git a/bin/bulk_void b/bin/bulk_void
new file mode 100755
index 0000000..a142818
--- /dev/null
+++ b/bin/bulk_void
@@ -0,0 +1,75 @@
+#!/usr/bin/perl
+
+use FS::Misc::Getopt;
+use FS::Record qw(qsearch qsearchs dbh);
+
+getopts('cpifXr:');
+my $dbh = dbh;
+$FS::UID::AutoCommit = 0;
+
+sub usage() {
+  "Usage: bulk_void  -s start -e end
+                  -r void_reason
+                  { -c | -p | -i }
+                  [ -X ]
+                  <user>
+-s, -e: date range (required)
+-r: void reason text (required)
+-c, -p, -i, -f: void credits, payments, invoices
+-X: commit changes
+";
+}
+
+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{start} AND _date <= $opt{end}";
+
+my %tables = (
+  c => 'cust_credit',
+  p => 'cust_pay',
+  i => 'cust_bill',
+);
+
+my $reason = $opt{r};
+
+foreach my $k (keys %tables) {
+  next unless $opt{$k};
+  my $table = $tables{$k};
+  debug("$table:");
+  my $done_count = 0;
+  my $error_count = 0;
+
+  my $cursor = FS::Cursor->new({
+    table     => $table,
+    extra_sql => $date,
+  });
+  my $error;
+  while (my $record = $cursor->fetch) {
+    $error = $record->void($reason);
+    if ( $error ) {
+      $error = "$table #" . $record->get($record->primary_key) . ": $error";
+      print "$error\n";
+      $error_count++;
+      if ( $opt{X} ) {
+        $dbh->rollback;
+        exit(1);
+      }
+    } else {
+      $done_count++;
+    }
+  }
+  print " $table voided: $done_count\n errors: $error_count\n";
+}
+
+if ( $opt{X} ) {
+  $dbh->commit;
+  print "Committed changes.\n";
+} else {
+  $dbh->rollback;
+  print "Reverted changes.\n";
+}
+

-----------------------------------------------------------------------

Summary of changes:
 bin/bulk_void                                |   75 ++++++++++++++++++++++++++
 httemplate/search/report_cust_bill_void.html |    2 +-
 2 files changed, 76 insertions(+), 1 deletion(-)
 create mode 100755 bin/bulk_void




More information about the freeside-commits mailing list