summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/Schema.pm25
-rw-r--r--FS/FS/TaxEngine/compliance_solutions.pm6
-rw-r--r--FS/FS/tax_rate_location.pm22
3 files changed, 37 insertions, 16 deletions
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 990bfde..dfb5ce4 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -2342,6 +2342,7 @@ sub tables_hashref {
'taxratelocationnum', 'serial', '', '', '', '',
'data_vendor', 'varchar', 'NULL', $char_d, '', '',
'geocode', 'varchar', '', 20, '', '',
+ 'district', 'varchar', 'NULL', $char_d, '', '',
'city', 'varchar', 'NULL', $char_d, '', '',
'county', 'varchar', 'NULL', $char_d, '', '',
'state', 'char', 'NULL', 2, '', '',
@@ -5769,6 +5770,25 @@ sub tables_hashref {
],
},
+ 'access_user_session_log' => {
+ 'columns' => [
+ 'sessionlognum', 'serial', '', '', '', '',
+ 'usernum', 'int', '', '', '', '',
+ 'start_date', @date_type, '', '',
+ 'last_date', @date_type, '', '',
+ 'logout_date', @date_type, '', '',
+ 'logout_type', 'varchar', '', $char_d, '', '',
+ ],
+ 'primary_key' => 'sessionlognum',
+ 'unique' => [],
+ 'index' => [],
+ 'foreign_keys' => [
+ { columns => [ 'usernum' ],
+ table => 'access_user',
+ },
+ ],
+ },
+
'access_user' => {
'columns' => [
'usernum', 'serial', '', '', '', '',
@@ -5816,8 +5836,9 @@ sub tables_hashref {
'access_group' => {
'columns' => [
- 'groupnum', 'serial', '', '', '', '',
- 'groupname', 'varchar', '', $char_d, '', '',
+ 'groupnum', 'serial', '', '', '', '',
+ 'groupname', 'varchar', '', $char_d, '', '',
+ 'session_timeout', 'int', 'NULL', '', '', '',
],
'primary_key' => 'groupnum',
'unique' => [ [ 'groupname' ] ],
diff --git a/FS/FS/TaxEngine/compliance_solutions.pm b/FS/FS/TaxEngine/compliance_solutions.pm
index c21234e..1f0c166 100644
--- a/FS/FS/TaxEngine/compliance_solutions.pm
+++ b/FS/FS/TaxEngine/compliance_solutions.pm
@@ -279,8 +279,10 @@ sub make_taxlines {
my $tax_rate_location = FS::tax_rate_location->new({
data_vendor => 'compliance_solutions',
geocode => $tax_data->{'geocode'},
- state => $tax_data->{'state'},
- country => $tax_data->{'country'},
+ district => $tax_data->{'geo_district'},
+ state => $tax_data->{'geo_state'},
+ county => $tax_data->{'geo_county'},
+ country => 'US',
});
$error = $tax_rate_location->find_or_insert;
die 'error inserting tax_rate_location record for '. $tax_data->{state}.
diff --git a/FS/FS/tax_rate_location.pm b/FS/FS/tax_rate_location.pm
index ad3618a..e338591 100644
--- a/FS/FS/tax_rate_location.pm
+++ b/FS/FS/tax_rate_location.pm
@@ -111,6 +111,7 @@ sub check {
$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')
@@ -171,13 +172,9 @@ 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
+ map { $_ => $self->$_ } qw( data_vendor geocode )
}
);
}
@@ -399,13 +396,14 @@ 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;
-
+#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