diff options
author | ivan <ivan> | 2011-01-30 06:33:41 +0000 |
---|---|---|
committer | ivan <ivan> | 2011-01-30 06:33:41 +0000 |
commit | 40b466a6f51f20313f902be0935c0b08653bf1dd (patch) | |
tree | c78fb381e2cf7f1654469d9ebc920fa0caf61ccb /httemplate/edit/process/cust_main_county-remove.cgi | |
parent | 6877b0f1447c211f1a992487eeaf9bda787c4b71 (diff) |
improve tax edit UI: add more counties & remove individual counties, RT#11144
Diffstat (limited to 'httemplate/edit/process/cust_main_county-remove.cgi')
-rwxr-xr-x | httemplate/edit/process/cust_main_county-remove.cgi | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/httemplate/edit/process/cust_main_county-remove.cgi b/httemplate/edit/process/cust_main_county-remove.cgi new file mode 100755 index 000000000..f018e6d65 --- /dev/null +++ b/httemplate/edit/process/cust_main_county-remove.cgi @@ -0,0 +1,48 @@ +<% $cgi->redirect(popurl(3). "browse/cust_main_county.cgi?". + "country=". uri_escape($cgi->param('country')).";". + 'state='. uri_escape($cgi->param('state')). ';'. + 'county='. uri_escape($cgi->param('county')) + ) +%> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +$cgi->param('taxnum') =~ /^(\d+)$/ or die "Illegal taxnum!"; +my $taxnum = $1; +my $cust_main_county = qsearchs('cust_main_county', { 'taxnum' => $taxnum } ) + or die "Unknown taxnum $taxnum"; + +#really should do this in a .pm & start transaction + +my %search = ( + 'country' => $cust_main_county->country, + 'state' => $cust_main_county->state, + ); + +$search{'county'} = $cust_main_county->county + if $cust_main_county->city; + +my $error = $cust_main_county->delete; +die $error if $error; + +unless ( qsearch('cust_main_county', \%search) ) { + + #if we're the last, clear our (state?)/county/city and reinsert + + $cust_main_county->taxnum(''); + if ( $cust_main_county->city ) { + $cust_main_county->city(''); + } elsif ( $cust_main_county->county ) { + $cust_main_county->county(''); + } else { + die "can't remove that"; + } + + my $error = $cust_main_county->insert; + die $error if $error; + +} + +</%init> |