diff options
author | ivan <ivan> | 2011-01-30 07:02:49 +0000 |
---|---|---|
committer | ivan <ivan> | 2011-01-30 07:02:49 +0000 |
commit | 8c33a2406cf88bcb1a9e0079337b52db17d8c466 (patch) | |
tree | 32d12d49f1c235eb83d043ab79ce290885259aa7 | |
parent | 66568e6369322c2ac5c7e8784cc6ef5a0ae28550 (diff) |
improve tax edit UI: add more cities & remove individual cities, RT#11144
-rwxr-xr-x | httemplate/browse/cust_main_county.cgi | 55 |
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). " ($country)"; }, + sub { my $label = $seen_state{$_[0]->country}->{$_[0]->state}++ ? '' : state_label($_[0]->state, $_[0]->country); + my $countylinks = ( $_[0]->county && $label ) ? ' '. 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. ' '. - remove_link( col => 'county', - label=> 'remove 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 + ? ' '. add_link( + desc => 'Add more cities', + col => 'county', + label=> 'add more cities', + row => $_[0], + cgi => $cgi, + ). + ' '. collapse_link( + col => 'county', + label=> 'remove all cities', + row => $_[0], + cgi => $cgi, + ) + : ' '. remove_link( col => 'county', + label=> 'remove county', + row => $_[0], + cgi => $cgi, + ); + } + + $_[0]->county + ? $label.$citylinks : '(all) '. expand_link( desc => 'Add Counties', row => $_[0], @@ -497,13 +525,14 @@ my @fields = ( cgi => $cgi, ); }, + sub { $_[0]->city ? $_[0]->city. ' '. - collapse_link( col => 'county', - label=> 'remove cities', - row => $_[0], - cgi => $cgi, - ) + remove_link( col => 'city', + label=> 'remove city', + row => $_[0], + cgi => $cgi, + ) : '(all) '. expand_link( desc => 'Add Cities', row => $_[0], |