[freeside-commits] branch master updated. 79c4a2f57e660defff2eb03d1f5c8ad7e590272b

Mark Wells mark at 420.am
Mon Nov 14 00:05:25 PST 2016


The branch, master has been updated
       via  79c4a2f57e660defff2eb03d1f5c8ad7e590272b (commit)
      from  e1e2c5a12697fc16078f46d1e59358de5684ee16 (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 79c4a2f57e660defff2eb03d1f5c8ad7e590272b
Author: Mark Wells <mark at freeside.biz>
Date:   Sun Nov 13 23:58:32 2016 -0800

    fix upgrade issues with old voided tax records, #73360

diff --git a/FS/FS/cust_bill_pkg_tax_location.pm b/FS/FS/cust_bill_pkg_tax_location.pm
index 7c67c2d..4a641be 100644
--- a/FS/FS/cust_bill_pkg_tax_location.pm
+++ b/FS/FS/cust_bill_pkg_tax_location.pm
@@ -125,7 +125,7 @@ sub check {
     || $self->ut_number('pkgnum', 'cust_pkg', 'pkgnum' )
     || $self->ut_foreign_key('locationnum', 'cust_location', 'locationnum' )
     || $self->ut_money('amount')
-    || $self->ut_foreign_key('taxable_billpkgnum', 'cust_bill_pkg', 'billpkgnum')
+    || $self->ut_foreign_keyn('taxable_billpkgnum', 'cust_bill_pkg', 'billpkgnum')
   ;
   return $error if $error;
 
diff --git a/FS/FS/cust_bill_pkg_tax_location_void.pm b/FS/FS/cust_bill_pkg_tax_location_void.pm
index 7b79e6f..bb4a5af 100644
--- a/FS/FS/cust_bill_pkg_tax_location_void.pm
+++ b/FS/FS/cust_bill_pkg_tax_location_void.pm
@@ -119,7 +119,7 @@ sub check {
     || $self->ut_number('pkgnum', 'cust_pkg', 'pkgnum' )
     || $self->ut_foreign_key('locationnum', 'cust_location', 'locationnum' )
     || $self->ut_money('amount')
-    || $self->ut_foreign_key('taxable_billpkgnum', 'cust_bill_pkg_void', 'billpkgnum')
+    || $self->ut_foreign_keyn('taxable_billpkgnum', 'cust_bill_pkg_void', 'billpkgnum')
   ;
   return $error if $error;
 
diff --git a/FS/FS/cust_bill_pkg_void.pm b/FS/FS/cust_bill_pkg_void.pm
index 9bfd41f..2cbfa02 100644
--- a/FS/FS/cust_bill_pkg_void.pm
+++ b/FS/FS/cust_bill_pkg_void.pm
@@ -296,6 +296,7 @@ sub _upgrade_data {  # class method
   my $error;
   # fix voids with tax from before July 2013, when the taxable_billpkgnum
   # field was added to the void table
+  local $FS::Record::nowarn_classload = 1;
   my $search = FS::Cursor->new({
     'table'   => 'cust_bill_pkg_tax_location_void',
     'hashref' => { 'taxable_billpkgnum' => '' }
@@ -307,11 +308,14 @@ sub _upgrade_data {  # class method
     my $unvoid = qsearchs({
       'table'   => 'h_cust_bill_pkg_tax_location',
       'hashref' => { 'billpkgtaxlocationnum' => $num },
+      'extra_sql' => ' AND taxable_billpkgnum IS NOT NULL',
       'order_by' => ' ORDER BY history_date DESC LIMIT 1'
     });
     if (!$unvoid) {
       # should never happen
-      die "billpkgtaxlocationnum $num: could not find pre-void history record to restore taxable_billpkgnum.";
+      # but should this be fatal? or wait until someone actually tries to
+      # use the record?
+      warn "billpkgtaxlocationnum $num: could not find pre-void history record to restore taxable_billpkgnum.";
     }
     if ($unvoid) {
       $void->set('taxable_billpkgnum', $unvoid->taxable_billpkgnum);

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

Summary of changes:
 FS/FS/cust_bill_pkg_tax_location.pm      |    2 +-
 FS/FS/cust_bill_pkg_tax_location_void.pm |    2 +-
 FS/FS/cust_bill_pkg_void.pm              |    6 +++++-
 3 files changed, 7 insertions(+), 3 deletions(-)




More information about the freeside-commits mailing list