X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Fcust_main_county.cgi;h=58ae5501b209a2adc098b260997a06ae6bd736aa;hb=9390236b83a34eec816ce73e155517339806187a;hp=6d89edcfa4ff6ffab1e4fb2b7b0a43faad82b75e;hpb=01758c90c7d2c2b83569b9138ac9a315f1695a56;p=freeside.git 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],