diff options
author | ivan <ivan> | 2008-10-12 00:54:18 +0000 |
---|---|---|
committer | ivan <ivan> | 2008-10-12 00:54:18 +0000 |
commit | 9eded70a59f22d7df3b645ad3636e28e0fd08bee (patch) | |
tree | 866b87cb436a39c83c15f94b94b55eeeaf8ba7b6 /httemplate/edit/process | |
parent | 5d6b394a5c676e5b87819a205da545f17fde8616 (diff) |
add a quick bulk tax add tool (eating my own dogfood instead of running a one-off SQL query), RT#4117
Diffstat (limited to 'httemplate/edit/process')
-rw-r--r-- | httemplate/edit/process/bulk-cust_main_county.html | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/httemplate/edit/process/bulk-cust_main_county.html b/httemplate/edit/process/bulk-cust_main_county.html new file mode 100644 index 000000000..e05192e96 --- /dev/null +++ b/httemplate/edit/process/bulk-cust_main_county.html @@ -0,0 +1,63 @@ +% if ( $error ) { #better to redirect back to +%# <% $cgi->redirect("$url?". $cgi->query_string ) %> + <% include('/elements/header-popup.html', 'Error adding taxes' ) %> + + <FONT SIZE="+1" COLOR="#ff0000">Error: <% $error |h %></FONT> + <BR><BR> + + </BODY> + </HTML> + +% } else { + <% include('/elements/header-popup.html', 'Taxes added') %> + + <SCRIPT TYPE="text/javascript"> + window.top.location.reload(); + </SCRIPT> + + </BODY> + </HTML> +% } +<%init> + +$cgi->param('taxnum') =~ /^([\d,]+)$/ + or die 'Guru Meditation #69'; #??? should have been passed in +my @taxnum = split(',', $1); + +my $error = ''; +foreach my $taxnum ( @taxnum ) { + + my $cust_main_county = qsearchs('cust_main_county', { 'taxnum' => $taxnum } ) + or die "unknown taxnum: $taxnum"; + + if ( $cust_main_county->tax == 0 ) { #let's replace + + foreach (qw( taxname tax exempt_amount setuptax recurtax )) { + $cust_main_county->set( $_ => scalar($cgi->param($_)) ) + } + + $error = $cust_main_county->replace and last; + + } else { #let's insert a new record + + my $new = + new FS::cust_main_county { + ( map { $_ => scalar($cgi->param($_)) } + qw( taxname tax exempt_amount setuptax recurtax ) + ), + ( map { $_ => $cust_main_county->get($_) } + qw( country state county taxclass ) + ) + }; + + $error = $new->insert and last; + + } + +} + +if ( $error ) { + $cgi->param('error', $error); +} + +</%init> |