$self->ut_numbern('taxratelocationnum')
|| $self->ut_textn('data_vendor')
|| $self->ut_alpha('geocode')
+ || $self->ut_textn('district')
|| $self->ut_textn('city')
|| $self->ut_textn('county')
|| $self->ut_textn('state')
;
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 );
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)) {
}
}
+sub existing_search {
+ my $self = shift;
+
+ qsearchs( 'tax_rate_location',
+ { disabled => '',
+ map { $_ => $self->$_ } qw( data_vendor geocode )
+ }
+ );
+}
+
=back
=head1 CLASS METHODS
}
sub _upgrade_data {
- my $class = shift;
-
- my $sql = "UPDATE tax_rate_location SET data_vendor = 'compliance_solutions' WHERE data_vendor = 'compliance solutions'";
-
- my $sth = dbh->prepare($sql) or die $DBI::errstr;
- $sth->execute() or die $sth->errstr;
-
+#actually no, we want to leave those records behind now that they're giving us
+# geo_state etc.
+# my $class = shift;
+#
+# my $sql = "UPDATE tax_rate_location SET data_vendor = 'compliance_solutions' WHERE data_vendor = 'compliance solutions'";
+#
+# my $sth = dbh->prepare($sql) or die $DBI::errstr;
+# $sth->execute() or die $sth->errstr;
}
=head1 BUGS