diff options
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; |