summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2011-01-30 07:02:49 +0000
committerivan <ivan>2011-01-30 07:02:49 +0000
commit8c33a2406cf88bcb1a9e0079337b52db17d8c466 (patch)
tree32d12d49f1c235eb83d043ab79ce290885259aa7
parent66568e6369322c2ac5c7e8784cc6ef5a0ae28550 (diff)
improve tax edit UI: add more cities & remove individual cities, RT#11144
-rwxr-xr-xhttemplate/browse/cust_main_county.cgi55
1 files changed, 42 insertions, 13 deletions
diff --git a/httemplate/browse/cust_main_county.cgi b/httemplate/browse/cust_main_county.cgi
index 6d89edcfa..58ae5501b 100755
--- a/httemplate/browse/cust_main_county.cgi
+++ b/httemplate/browse/cust_main_county.cgi
@@ -10,7 +10,7 @@
'table' => 'cust_main_county',
'hashref' => $hashref,
'order_by' =>
- 'ORDER BY country, state, county, taxclass',
+ 'ORDER BY country, state, county, city, taxclass',
},
'count_query' => $count_query,
'header' => \@header,
@@ -449,14 +449,17 @@ my $align = 'llll';
my %seen_country = ();
my %seen_state = ();
+my %seen_county = ();
my @fields = (
sub { my $country = shift->country;
return '' if $seen_country{$country}++;
code2country($country). "&nbsp;($country)";
},
+
sub { my $label = $seen_state{$_[0]->country}->{$_[0]->state}++
? '' : state_label($_[0]->state, $_[0]->country);
+
my $countylinks = ( $_[0]->county && $label )
? '&nbsp;'. add_link(
desc => 'Add more counties',
@@ -472,6 +475,7 @@ my @fields = (
cgi => $cgi,
)
: '';
+
my $addlink =
( $_[0]->state
? ''
@@ -481,15 +485,39 @@ my @fields = (
cgi => $cgi,
)
);
+
$label.$countylinks.$addlink;
},
- sub { $_[0]->county
- ? $_[0]->county. '&nbsp;'.
- remove_link( col => 'county',
- label=> 'remove&nbsp;county',
- row => $_[0],
- cgi => $cgi,
- )
+
+ sub { my $label =
+ $seen_county{$_[0]->country}->{$_[0]->state}->{$_[0]->county}++
+ ? '' : $_[0]->county;
+
+ my $citylinks = '';
+ if ( $label ) {
+ $citylinks = $_[0]->city
+ ? '&nbsp;'. add_link(
+ desc => 'Add more cities',
+ col => 'county',
+ label=> 'add&nbsp;more&nbsp;cities',
+ row => $_[0],
+ cgi => $cgi,
+ ).
+ ' '. collapse_link(
+ col => 'county',
+ label=> 'remove&nbsp;all&nbsp;cities',
+ row => $_[0],
+ cgi => $cgi,
+ )
+ : '&nbsp;'. remove_link( col => 'county',
+ label=> 'remove&nbsp;county',
+ row => $_[0],
+ cgi => $cgi,
+ );
+ }
+
+ $_[0]->county
+ ? $label.$citylinks
: '(all)&nbsp;'.
expand_link( desc => 'Add Counties',
row => $_[0],
@@ -497,13 +525,14 @@ my @fields = (
cgi => $cgi,
);
},
+
sub { $_[0]->city
? $_[0]->city. '&nbsp;'.
- collapse_link( col => 'county',
- label=> 'remove&nbsp;cities',
- row => $_[0],
- cgi => $cgi,
- )
+ remove_link( col => 'city',
+ label=> 'remove&nbsp;city',
+ row => $_[0],
+ cgi => $cgi,
+ )
: '(all)&nbsp;'.
expand_link( desc => 'Add Cities',
row => $_[0],