Skip to content

Commit

Permalink
compliance solutions, RT#77676
Browse files Browse the repository at this point in the history
  • Loading branch information
ivanfreeside committed Sep 21, 2017
1 parent 0c76727 commit 147c948
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 5 deletions.
9 changes: 5 additions & 4 deletions FS/FS/TaxEngine/compliance_solutions.pm
Expand Up @@ -263,7 +263,7 @@ sub make_taxlines {
# create a tax rate location if there isn't one yet
my $taxname = $tax_data->{descript};
my $tax_rate = FS::tax_rate->new({
data_vendor => 'compliance solutions',
data_vendor => 'compliance_solutions',
taxname => $taxname,
taxclassnum => '',
taxauth => $tax_data->{'taxauthtype'}, # federal / state / city / district
Expand All @@ -277,13 +277,14 @@ sub make_taxlines {
$tax_rate = $tax_rate->replace_old;

my $tax_rate_location = FS::tax_rate_location->new({
data_vendor => 'compliance solutions',
data_vendor => 'compliance_solutions',
geocode => $tax_data->{'geocode'},
state => $tax_data->{'state'},
country => $tax_data->{'country'},
geocode => $tax_data->{'geocode'},
});
$error = $tax_rate_location->find_or_insert;
die "error inserting tax_rate_location record: $error\n"
die 'error inserting tax_rate_location record for '. $tax_data->{state}.
'/'. $tax_data->{country}. ' ('. $tax_data->{'geocode'}. "): $error\n"
if $error;
$tax_rate_location = $tax_rate_location->replace_old;

Expand Down
4 changes: 4 additions & 0 deletions FS/FS/Upgrade.pm
Expand Up @@ -497,6 +497,10 @@ sub upgrade_data {
#mark certain taxes as system-maintained,
# and fix whitespace
'cust_main_county' => [],

#'compliance solutions' -> 'compliance_solutions'
'tax_rate' => [],
'tax_rate_location' => [],
;

\%hash;
Expand Down
8 changes: 8 additions & 0 deletions FS/FS/tax_rate.pm
Expand Up @@ -2335,7 +2335,15 @@ EOF

}

sub _upgrade_data {
my $class = shift;

my $sql = "UPDATE tax_rate 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;

}

=back
Expand Down
16 changes: 15 additions & 1 deletion FS/FS/tax_rate_location.pm
Expand Up @@ -118,10 +118,14 @@ 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->$_ } qw( data_vendor geocode ) ),
( map { $_ => $self->$_ } @unique ),
},
)
unless $self->disabled;
Expand Down Expand Up @@ -392,6 +396,16 @@ sub batch_import {

}

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;

}

=head1 BUGS
Currently somewhat specific to CCH supplied data.
Expand Down

0 comments on commit 147c948

Please sign in to comment.