summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-05-08 02:11:01 -0700
committerIvan Kohler <ivan@freeside.biz>2013-05-08 02:11:01 -0700
commitd139a46390d127753877e8e55766e864df788d0b (patch)
tree95a39a2fc144d932409cb7e3fa8023cb5b745e4b
parent199450cf528a5ac6b4fe739c38f9adf99a913712 (diff)
fix CCH update adding a TAXCAT, RT#21687
-rw-r--r--FS/FS/tax_class.pm10
1 files changed, 6 insertions, 4 deletions
diff --git a/FS/FS/tax_class.pm b/FS/FS/tax_class.pm
index bfec2c06c..eeb8993ee 100644
--- a/FS/FS/tax_class.pm
+++ b/FS/FS/tax_class.pm
@@ -259,13 +259,15 @@ sub batch_import {
'description' => $type->[1].':'.$cat->[1],
} );
my $error = $tax_class->insert;
- return $error if $error;
+ return "can't insert tax_class for old TAXTYPE $type and new TAXCAT $cat: $error" if $error;
$imported++;
}
}
+ my %cats = map { $_=>1 } ( @old_cats, @{$data->{'taxcat'}} );
+
foreach my $type (@{$data->{'taxtype'}}) {
- foreach my $cat (@old_cats, @{$data->{'taxcat'}}) {
+ foreach my $cat (keys %cats) {
if ( $job ) { # progress bar
if ( time - $min_sec > $last ) {
@@ -283,7 +285,7 @@ sub batch_import {
'description' => $type->[1].':'.$cat->[1],
} );
my $error = $tax_class->insert;
- return $error if $error;
+ return "can't insert tax_class for new TAXTYPE $type and TAXCAT $cat: $error" if $error;
$imported++;
}
}
@@ -363,7 +365,7 @@ sub batch_import {
my $error = &{$endhook}();
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
- return "can't insert tax_class for $line: $error";
+ return "can't run end hook: $error";
}
$dbh->commit or die $dbh->errstr if $oldAutoCommit;