diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-05-08 05:09:37 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-05-08 05:09:37 -0700 |
commit | 5c7c467af6e6880b05df8bd04a6744e72d8d0577 (patch) | |
tree | a14cd9b44ae219c6b9d086ff7c80fb247a139975 /FS/FS/tax_class.pm | |
parent | 5cc16936f50d1ab2ea4b3f7b209405731b3ac014 (diff) |
fix cch update adding a TAXCAT, RT#21687
Diffstat (limited to 'FS/FS/tax_class.pm')
-rw-r--r-- | FS/FS/tax_class.pm | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/FS/FS/tax_class.pm b/FS/FS/tax_class.pm index 79bb248..7fe1023 100644 --- a/FS/FS/tax_class.pm +++ b/FS/FS/tax_class.pm @@ -84,9 +84,6 @@ sub delete { my $self = shift; return "Can't delete a tax class which has package tax rates!" - if qsearch( 'part_pkg_taxrate', { 'taxclassnum' => $self->taxclassnum } ); - - return "Can't delete a tax class which has package tax rates!" if qsearch( 'part_pkg_taxrate', { 'taxclassnumtaxed' => $self->taxclassnum } ); return "Can't delete a tax class which has package tax overrides!" @@ -113,6 +110,16 @@ sub delete { } } + foreach my $part_pkg_taxrate ( + qsearch( 'part_pkg_taxrate', { taxclassnum=>$self->taxclassnum } ) + ) { + my $error = $part_pkg_taxrate->delete; + if ( $error ) { + $dbh->rollback if $oldAutoCommit; + return $error; + } + } + my $error = $self->SUPER::delete(@_); if ( $error ) { $dbh->rollback if $oldAutoCommit; |