diff options
author | ivan <ivan> | 2011-03-10 02:26:48 +0000 |
---|---|---|
committer | ivan <ivan> | 2011-03-10 02:26:48 +0000 |
commit | 035c0cf4bb01805d2bacec7971597f03a6491af6 (patch) | |
tree | a89d86642c9882b9be197de6f175f6fc537d59bc | |
parent | 3b0da26ea81169a7693d8bbc8719e8a9aa500734 (diff) |
avoid runcentral's weird proble distributing tax exemptions since it doesn't apply to them anyway, RT#11476
-rw-r--r-- | FS/FS/cust_main/Billing.pm | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/FS/FS/cust_main/Billing.pm b/FS/FS/cust_main/Billing.pm index 44181eb7c..5efeb8268 100644 --- a/FS/FS/cust_main/Billing.pm +++ b/FS/FS/cust_main/Billing.pm @@ -726,8 +726,16 @@ sub calculate_taxes { foreach my $tax ( keys %$taxlisthash ) { foreach ( @{ $taxlisthash->{$tax} }[1 ... scalar(@{ $taxlisthash->{$tax} })] ) { next unless ref($_) eq 'FS::cust_bill_pkg'; - push @{ $packagemap{$_->pkgnum}->_cust_tax_exempt_pkg }, - splice( @{ $_->_cust_tax_exempt_pkg } ); + + my @cust_tax_exempt_pkg = splice( @{ $_->_cust_tax_exempt_pkg } ); + + next unless @cust_tax_exempt_pkg; #just avoiding the prob when irrelevant? + die "can't distribute tax exemptions: no line item for ". Dumper($_). + " in packagemap ". join(',', sort {$a<=>$b} keys %packagemap). "\n" + unless $packagemap{$_->pkgnum}; + + push @{ $packagemap{$_->pkgnum}->_cust_tax_exempt_pkg }, + @cust_tax_exempt_pkg; } } |