summaryrefslogtreecommitdiff
path: root/httemplate/edit
diff options
context:
space:
mode:
authorivan <ivan>2009-10-12 01:45:12 +0000
committerivan <ivan>2009-10-12 01:45:12 +0000
commit0b94e40c533288be69a4fe60da36a385d31eff7f (patch)
tree8284d3c555e7b0cdfd731c567059f7f60319e3c0 /httemplate/edit
parent990e040448691dd4bd26c871274c65204cb7707b (diff)
UI for per-city taxes (setup and assigning to customers/package locations), RT#5852
Diffstat (limited to 'httemplate/edit')
-rwxr-xr-xhttemplate/edit/cust_main.cgi18
-rwxr-xr-xhttemplate/edit/cust_main_county-expand.cgi6
-rwxr-xr-xhttemplate/edit/process/cust_main_county-collapse.cgi19
-rwxr-xr-xhttemplate/edit/process/cust_main_county-expand.cgi15
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;