[freeside-commits] branch master updated. cb0c60153102a21028425cf31ba12c8cdf31dca4
Mark Wells
mark at 420.am
Tue Apr 29 12:01:09 PDT 2014
The branch, master has been updated
via cb0c60153102a21028425cf31ba12c8cdf31dca4 (commit)
from 59958b6c8ec8418cf30d679a9afea478bab1f366 (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 cb0c60153102a21028425cf31ba12c8cdf31dca4
Author: Mark Wells <mark at freeside.biz>
Date: Tue Apr 29 12:01:03 2014 -0700
WA state tax update now takes an option for tax name, #26265
diff --git a/bin/wa_tax_rate_update b/bin/wa_tax_rate_update
index 27d1527..2d493db 100644
--- a/bin/wa_tax_rate_update
+++ b/bin/wa_tax_rate_update
@@ -15,9 +15,13 @@ and relies on a heinous screen-scraping of the interactive search tool.
This script just updates the cust_main_county records that already exist
with the latest quarterly tax rates.
-The only option it accepts is "-c" to operate on a specific tax class
-(named after the -c). If this isn't included it will operate on records
-with null tax class.
+Options:
+
+-c <taxclass>: operate only on records with the named tax class. If not
+specified, this operates on records with null tax class.
+
+-t <taxname>: operate only on records with that tax name. If not specified,
+it operates on records where the tax name is either null or 'Tax'.
=cut
@@ -31,7 +35,7 @@ use File::Slurp qw(read_file write_file);
use Text::CSV;
use Getopt::Std;
-getopts('c:');
+getopts('c:t:');
my $user = shift or die usage();
# download the update file
@@ -68,6 +72,7 @@ adminsuidsetup($user) or die "bad username '$user'\n";
$FS::UID::AutoCommit = 0;
$opt_c ||= ''; # taxclass
+$opt_t ||= ''; # taxname
my $total_changed = 0;
my $total_skipped = 0;
while ( !$csv->eof ) {
@@ -82,7 +87,17 @@ while ( !$csv->eof ) {
state => 'WA', # this is specific to WA
district => $district,
taxclass => $opt_c,
+ taxname => $opt_t,
});
+ if ($opt_t eq '') {
+ push @rates, qsearch('cust_main_county', {
+ country => 'US',
+ state => 'WA', # this is specific to WA
+ district => $district,
+ taxclass => $opt_c,
+ taxname => 'Tax'
+ });
+ }
foreach my $rate (@rates) {
if ( $rate->tax == $tax ) {
$skipped++;
@@ -103,6 +118,6 @@ dbh->commit;
sub usage {
"usage:
- wa_tax_rate_update [ -c taxclass ] user
+ wa_tax_rate_update [ -c taxclass ] [ -t taxname ] user
";
}
-----------------------------------------------------------------------
Summary of changes:
bin/wa_tax_rate_update | 25 ++++++++++++++++++++-----
1 files changed, 20 insertions(+), 5 deletions(-)
More information about the freeside-commits
mailing list