diff options
| author | ivan <ivan> | 2011-01-30 06:33:42 +0000 |
|---|---|---|
| committer | ivan <ivan> | 2011-01-30 06:33:42 +0000 |
| commit | 81cedf049ea379dd5ee67ac5d54bc1a3a2fcaa04 (patch) | |
| tree | 5dbd31dd7a136e7724417e859b8c1fcdab005241 /httemplate/edit/process/cust_main_county-remove.cgi | |
| parent | ba7f4fcb115d9ef1a8c67b174deb77fc69e242b3 (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> |
