diff options
author | Mark Wells <mark@freeside.biz> | 2016-11-13 23:58:32 -0800 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2016-11-14 00:00:03 -0800 |
commit | 79c4a2f57e660defff2eb03d1f5c8ad7e590272b (patch) | |
tree | f6d1cfe9927ee9040d639dc1b2225326da4f61d9 /FS/FS/cust_bill_pkg_void.pm | |
parent | e1e2c5a12697fc16078f46d1e59358de5684ee16 (diff) |
fix upgrade issues with old voided tax records, #73360
Diffstat (limited to 'FS/FS/cust_bill_pkg_void.pm')
-rw-r--r-- | FS/FS/cust_bill_pkg_void.pm | 6 |
1 files changed, 5 insertions, 1 deletions
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); |