[freeside-commits] branch 21563 updated. 9732b34df2fad5f09751766378c05eacd671e4fb

Ivan ivan at 420.am
Wed May 8 02:55:54 PDT 2013


The branch, 21563 has been updated
       via  9732b34df2fad5f09751766378c05eacd671e4fb (commit)
      from  d139a46390d127753877e8e55766e864df788d0b (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 9732b34df2fad5f09751766378c05eacd671e4fb
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Wed May 8 02:55:51 2013 -0700

    fix CCH update adding a TAXCAT, RT#21687

diff --git a/FS/FS/tax_class.pm b/FS/FS/tax_class.pm
index eeb8993..15f9a42 100644
--- a/FS/FS/tax_class.pm
+++ b/FS/FS/tax_class.pm
@@ -253,21 +253,28 @@ 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 "can't insert tax_class for old TAXTYPE $type and new TAXCAT $cat: $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++;
+          
         }
       }
 
-      my %cats = map { $_=>1 } ( @old_cats, @{$data->{'taxcat'}} );
-
       foreach my $type (@{$data->{'taxtype'}}) {
-        foreach my $cat (keys %cats) {
+        foreach my $cat (@old_cats, @{$data->{'taxcat'}}) {
 
           if ( $job ) {  # progress bar
             if ( time - $min_sec > $last ) {

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/tax_class.pm |   27 +++++++++++++++++----------
 1 files changed, 17 insertions(+), 10 deletions(-)




More information about the freeside-commits mailing list