[freeside-commits] branch master updated. 5f7c4a6025b9e3a49bee72dbc06cac37a45e6f10

Ivan ivan at 420.am
Fri Sep 22 10:26:29 PDT 2017


The branch, master has been updated
       via  5f7c4a6025b9e3a49bee72dbc06cac37a45e6f10 (commit)
      from  147c94865852a93bf192ef15e931e456d487b69b (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 5f7c4a6025b9e3a49bee72dbc06cac37a45e6f10
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Fri Sep 22 10:26:25 2017 -0700

    compliance solutions, RT#77676

diff --git a/FS/FS/tax_rate_location.pm b/FS/FS/tax_rate_location.pm
index 0377a7d..ad3618a 100644
--- a/FS/FS/tax_rate_location.pm
+++ b/FS/FS/tax_rate_location.pm
@@ -118,20 +118,12 @@ sub check {
   ;
   return $error if $error;
 
-  my @unique = qw( data_vendor geocode );
-  push @unique, qw( state country )
-    if $self->data_vendor eq 'compliance_solutions';
-
-  my $t;
-  $t = qsearchs( 'tax_rate_location',
-                 { disabled => '',
-                   ( map { $_ => $self->$_ } @unique ),
-                 },
-               )
+  my $t = '';
+  $t = $self->existing_search
     unless $self->disabled;
 
   $t = $self->by_key( $self->taxratelocationnum )
-    if ( !$t && $self->taxratelocationnum );
+    if !$t && $self->taxratelocationnum;
 
   return "geocode ". $self->geocode. " already in use for this vendor"
     if ( $t && $t->taxratelocationnum != $self->taxratelocationnum );
@@ -157,11 +149,7 @@ record.
 
 sub find_or_insert {
   my $self = shift;
-  my $existing = qsearchs('tax_rate_location', {
-      disabled    => '',
-      data_vendor => $self->data_vendor,
-      geocode     => $self->geocode
-  });
+  my $existing = $self->existing_search;
   if ($existing) {
     my $update = 0;
     foreach (qw(city county state country)) {
@@ -180,6 +168,20 @@ sub find_or_insert {
   }
 }
 
+sub existing_search {
+  my $self = shift;
+
+  my @unique = qw( data_vendor geocode );
+  push @unique, qw( state country )
+    if $self->data_vendor eq 'compliance_solutions';
+
+  qsearchs( 'tax_rate_location',
+            { disabled => '',
+              map { $_ => $self->$_ } @unique
+            }
+          );
+}
+
 =back
 
 =head1 CLASS METHODS

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

Summary of changes:
 FS/FS/tax_rate_location.pm |   34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)




More information about the freeside-commits mailing list