diff options
author | ivan <ivan> | 2009-10-12 01:45:12 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-10-12 01:45:12 +0000 |
commit | 0b94e40c533288be69a4fe60da36a385d31eff7f (patch) | |
tree | 8284d3c555e7b0cdfd731c567059f7f60319e3c0 /httemplate/edit | |
parent | 990e040448691dd4bd26c871274c65204cb7707b (diff) |
UI for per-city taxes (setup and assigning to customers/package locations), RT#5852
Diffstat (limited to 'httemplate/edit')
-rwxr-xr-x | httemplate/edit/cust_main.cgi | 18 | ||||
-rwxr-xr-x | httemplate/edit/cust_main_county-expand.cgi | 6 | ||||
-rwxr-xr-x | httemplate/edit/process/cust_main_county-collapse.cgi | 19 | ||||
-rwxr-xr-x | httemplate/edit/process/cust_main_county-expand.cgi | 15 |
4 files changed, 42 insertions, 16 deletions
diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi index 15c9f45b2..fac7ef27c 100755 --- a/httemplate/edit/cust_main.cgi +++ b/httemplate/edit/cust_main.cgi @@ -45,9 +45,11 @@ % my $same_checked = ''; % my $ship_disabled = ''; +% my @ship_style = (); % unless ( $cust_main->ship_last && $same ne 'Y' ) { % $same_checked = 'CHECKED'; -% $ship_disabled = 'DISABLED STYLE="background-color: #dddddd"'; +% $ship_disabled = 'DISABLED'; +% push @ship_style, 'background-color:#dddddd'; % foreach ( % qw( last first company address1 address2 city county state zip country % daytime night fax ) @@ -74,14 +76,20 @@ function bill_changed(what) { if ( what.form.same.checked ) { % for (qw( last first company address1 address2 city zip daytime night fax )) { - what.form.ship_<%$_%>.value = what.form.<%$_%>.value; % } what.form.ship_country.selectedIndex = what.form.country.selectedIndex; + function fix_ship_city() { + what.form.ship_city_select.selectedIndex = what.form.city_select.selectedIndex; + what.form.ship_city.style.display = what.form.city.style.display; + what.form.ship_city_select.style.display = what.form.city_select.style.display; + } + function fix_ship_county() { what.form.ship_county.selectedIndex = what.form.county.selectedIndex; + ship_county_changed(what.form.ship_county, fix_ship_city ); } function fix_ship_state() { @@ -97,7 +105,8 @@ function samechanged(what) { if ( what.checked ) { bill_changed(what); -% for (qw( last first company address1 address2 city county state zip country daytime night fax )) { +% my @fields = qw( last first company address1 address2 city city_select county state zip country daytime night fax ); +% for (@fields) { what.form.ship_<%$_%>.disabled = true; what.form.ship_<%$_%>.style.backgroundColor = '#dddddd'; % } @@ -111,7 +120,7 @@ function samechanged(what) { } else { -% for (qw( last first company address1 address2 city county state zip country daytime night fax )) { +% for (@fields) { what.form.ship_<%$_%>.disabled = false; what.form.ship_<%$_%>.style.backgroundColor = '#ffffff'; % } @@ -136,6 +145,7 @@ function samechanged(what) { 'pre' => 'ship_', 'onchange' => '', 'disabled' => $ship_disabled, + 'style' => \@ship_style ) %> diff --git a/httemplate/edit/cust_main_county-expand.cgi b/httemplate/edit/cust_main_county-expand.cgi index d5297ab0a..265dd1dab 100755 --- a/httemplate/edit/cust_main_county-expand.cgi +++ b/httemplate/edit/cust_main_county-expand.cgi @@ -37,9 +37,11 @@ my $cust_main_county = qsearchs('cust_main_county',{'taxnum'=>$taxnum}) my $title; -die "Can't expand entry!" if $cust_main_county->county; +die "Can't expand entry!" if $cust_main_county->city; -if ( $cust_main_county->state ) { +if ( $cust_main_county->county ) { + $title = 'Cities'; +} elsif ( $cust_main_county->state ) { $title = 'Counties'; } else { $title = 'States/Provinces'; diff --git a/httemplate/edit/process/cust_main_county-collapse.cgi b/httemplate/edit/process/cust_main_county-collapse.cgi index 18bd1fde2..9608fc919 100755 --- a/httemplate/edit/process/cust_main_county-collapse.cgi +++ b/httemplate/edit/process/cust_main_county-collapse.cgi @@ -12,10 +12,15 @@ my $cust_main_county = qsearchs('cust_main_county', { 'taxnum' => $taxnum } ) #really should do this in a .pm & start transaction -foreach my $delete ( qsearch('cust_main_county', { - 'country' => $cust_main_county->country, - 'state' => $cust_main_county->state - } ) ) { +my %search = ( + 'country' => $cust_main_county->country, + 'state' => $cust_main_county->state, + ); + +$search{'county'} = $cust_main_county->county + if $cust_main_county->city; + +foreach my $delete ( qsearch('cust_main_county', \%search) ) { # unless ( qsearch('cust_main',{ # 'state' => $cust_main_county->getfield('state'), # 'county' => $cust_main_county->getfield('county'), @@ -30,7 +35,11 @@ foreach my $delete ( qsearch('cust_main_county', { } $cust_main_county->taxnum(''); -$cust_main_county->county(''); +if ( $cust_main_county->city ) { + $cust_main_county->city(''); +} else { + $cust_main_county->county(''); +} my $error = $cust_main_county->insert; die $error if $error; diff --git a/httemplate/edit/process/cust_main_county-expand.cgi b/httemplate/edit/process/cust_main_county-expand.cgi index 04533a539..9984b08fa 100755 --- a/httemplate/edit/process/cust_main_county-expand.cgi +++ b/httemplate/edit/process/cust_main_county-expand.cgi @@ -48,17 +48,21 @@ foreach ( @expansion) { $new->setfield('taxclass', $_); } elsif ( ! $cust_main_county->state ) { $new->setfield('state',$_); - } else { + } elsif ( ! $cust_main_county->county ) { $new->setfield('county',$_); + } else { + #uppercase cities in the US to try and agree with USPS validation + $new->setfield('city', $new->country eq 'US' ? uc($_) : $_ ); } my $error = $new->insert; die $error if $error; } unless ( qsearch( 'cust_main', { - 'state' => $cust_main_county->state, - 'county' => $cust_main_county->county, - 'country' => $cust_main_county->country, + 'city' => $cust_main_county->city, + 'county' => $cust_main_county->county, + 'state' => $cust_main_county->state, + 'country' => $cust_main_county->country, } ) || ! @expansion ) { @@ -68,8 +72,9 @@ unless ( qsearch( 'cust_main', { if ( $cgi->param('taxclass') ) { print $cgi->redirect(popurl(3). "browse/cust_main_county.cgi?". - 'state='. uri_escape($cust_main_county->state ).';'. + 'city='. uri_escape($cust_main_county->city ).';'. 'county='. uri_escape($cust_main_county->county ).';'. + 'state='. uri_escape($cust_main_county->state ).';'. 'country='. uri_escape($cust_main_county->country) ); myexit; |