projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
147c948
)
compliance solutions, RT#77676
author
Ivan Kohler
<ivan@freeside.biz>
Fri, 22 Sep 2017 17:26:25 +0000
(10:26 -0700)
committer
Ivan Kohler
<ivan@freeside.biz>
Fri, 22 Sep 2017 17:26:25 +0000
(10:26 -0700)
FS/FS/tax_rate_location.pm
patch
|
blob
|
history
diff --git
a/FS/FS/tax_rate_location.pm
b/FS/FS/tax_rate_location.pm
index
0377a7d
..
ad3618a
100644
(file)
--- a/
FS/FS/tax_rate_location.pm
+++ b/
FS/FS/tax_rate_location.pm
@@
-118,20
+118,12
@@
sub check {
;
return $error if $error;
;
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 )
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 );
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;
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)) {
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
=back
=head1 CLASS METHODS