[freeside-commits] branch master updated. bee0671782e7a40961cf406cd7a10675fed6b3ba
Ivan
ivan at 420.am
Wed May 8 03:52:47 PDT 2013
The branch, master has been updated
via bee0671782e7a40961cf406cd7a10675fed6b3ba (commit)
from 57a9a48d9a56255a3a05821c0090acac6c1f0336 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit bee0671782e7a40961cf406cd7a10675fed6b3ba
Author: Ivan Kohler <ivan at freeside.biz>
Date: Wed May 8 03:52:42 2013 -0700
debug CCH update adding a tax class, RT#21687
diff --git a/FS/FS/tax_class.pm b/FS/FS/tax_class.pm
index bfec2c0..c8fe889 100644
--- a/FS/FS/tax_class.pm
+++ b/FS/FS/tax_class.pm
@@ -169,7 +169,8 @@ sub batch_import {
$hook = sub {
my $hash = shift;
-
+use Data::Dumper;
+warn Dumper($hash);
if ($hash->{'table'} eq 'DETAIL') {
push @{$data->{'taxcat'}}, [ $hash->{'value'}, $hash->{'description'} ]
if ($hash->{'name'} eq 'TAXCAT' &&
@@ -194,6 +195,7 @@ sub batch_import {
($name eq 'TAXCAT' ? $value : '%')."'",
);
foreach (@tax_class) {
+warn "deleting ". $_->taxclass. ' '. $_->description. "\n";
my $error = $_->delete;
return $error if $error;
}
@@ -253,14 +255,23 @@ sub batch_import {
}
}
- my $tax_class =
- new FS::tax_class( { 'data_vendor' => 'cch',
- 'taxclass' => $type->[0].':'.$cat->[0],
- 'description' => $type->[1].':'.$cat->[1],
- } );
- my $error = $tax_class->insert;
- return $error if $error;
+ my %hash = ( 'data_vendor' => 'cch',
+ 'taxclass' => $type->[0].':'.$cat->[0],
+ 'description' => $type->[1].':'.$cat->[1],
+ );
+ unless ( qsearchs('tax_class', \%hash) ) {
+ my $tax_class = new FS::tax_class \%hash;
+ my $error = $tax_class->insert;
+
+ return "can't insert tax_class for ".
+ " old TAXTYPE ". $type->[0].':'.$type->[1].
+ " and new TAXCAT ". $cat->[0].':'. $cat->[1].
+ " : $error"
+ if $error;
+ }
+
$imported++;
+
}
}
@@ -283,7 +294,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 +374,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;
-----------------------------------------------------------------------
Summary of changes:
FS/FS/tax_class.pm | 31 +++++++++++++++++++++----------
1 files changed, 21 insertions(+), 10 deletions(-)
More information about the freeside-commits
mailing list