summaryrefslogtreecommitdiff
path: root/FS/FS/tax_rate.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2013-05-08 13:33:24 -0700
committerIvan Kohler <ivan@freeside.biz>2013-05-08 13:33:24 -0700
commit66720bf1f5bae4b1d4022eabff456c247447fbc1 (patch)
treeef901fdce80490884b5af64a11af424a20eed3c6 /FS/FS/tax_rate.pm
parentfe5b1c30b591e50abc6f5496853f24f79a84e1c1 (diff)
fix cch update removal of PLUS4/ZIP and TXMATRIX, RT#21687
Diffstat (limited to 'FS/FS/tax_rate.pm')
-rw-r--r--FS/FS/tax_rate.pm18
1 files changed, 15 insertions, 3 deletions
diff --git a/FS/FS/tax_rate.pm b/FS/FS/tax_rate.pm
index 721d5f583..265383398 100644
--- a/FS/FS/tax_rate.pm
+++ b/FS/FS/tax_rate.pm
@@ -967,7 +967,7 @@ sub _perform_batch_import {
my $file = lc($name). 'file';
unless ($files{$file}) {
- $error = "No $name supplied";
+ #$error = "No $name supplied";
next;
}
next if $name eq 'DETAIL' && $format =~ /update/;
@@ -1002,10 +1002,17 @@ sub _perform_batch_import {
'DETAIL', "$dir/".$files{detailfile}, \&FS::tax_rate::batch_import, $format
if $format =~ /update/;
+ my %addl_param = ();
+ if ( $param->{'delete_only'} ) {
+ $addl_param{'delete_only'} = $param->{'delete_only'};
+ @insert_list = ()
+ }
+
$error ||= _perform_cch_tax_import( $job,
[ @predelete_list ],
[ @insert_list ],
[ @delete_list ],
+ \%addl_param,
);
@@ -1030,7 +1037,8 @@ sub _perform_batch_import {
sub _perform_cch_tax_import {
- my ( $job, $predelete_list, $insert_list, $delete_list ) = @_;
+ my ( $job, $predelete_list, $insert_list, $delete_list, $addl_param ) = @_;
+ $addl_param ||= {};
my $error = '';
foreach my $list ($predelete_list, $insert_list, $delete_list) {
@@ -1039,7 +1047,11 @@ sub _perform_cch_tax_import {
my $fmt = "$format-update";
$fmt = $format. ( lc($name) eq 'zip' ? '-zip' : '' );
open my $fh, "< $file" or $error ||= "Can't open $name file $file: $!";
- $error ||= &{$method}({ 'filehandle' => $fh, 'format' => $fmt }, $job);
+ my $param = { 'filehandle' => $fh,
+ 'format' => $fmt,
+ %$addl_param,
+ };
+ $error ||= &{$method}($param, $job);
close $fh;
}
}