summaryrefslogtreecommitdiff
path: root/FS/FS/tax_class.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-05-08 05:09:37 -0700
committerIvan Kohler <ivan@freeside.biz>2013-05-08 05:09:37 -0700
commit5c7c467af6e6880b05df8bd04a6744e72d8d0577 (patch)
treea14cd9b44ae219c6b9d086ff7c80fb247a139975 /FS/FS/tax_class.pm
parent5cc16936f50d1ab2ea4b3f7b209405731b3ac014 (diff)
fix cch update adding a TAXCAT, RT#21687
Diffstat (limited to 'FS/FS/tax_class.pm')
-rw-r--r--FS/FS/tax_class.pm13
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;