X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Fcust_main_county.cgi;h=c6484cacd589fb0aaa752c9b26d29c0ff91b6bd7;hb=b490e791cc60013989d908041f174467e362a1ea;hp=58ae5501b209a2adc098b260997a06ae6bd736aa;hpb=9390236b83a34eec816ce73e155517339806187a;p=freeside.git diff --git a/httemplate/browse/cust_main_county.cgi b/httemplate/browse/cust_main_county.cgi index 58ae5501b..c6484cacd 100755 --- a/httemplate/browse/cust_main_county.cgi +++ b/httemplate/browse/cust_main_county.cgi @@ -46,7 +46,7 @@ my $exempt_sub = sub { }; my $cs_oldrow; -my $cell_style; +my $cell_style = ''; my $cell_style_sub = sub { my $row = shift; if ( $cs_oldrow ne $row ) { @@ -54,11 +54,10 @@ my $cell_style_sub = sub { if ( $cs_oldrow->country ne $row->country ) { $cell_style = 'border-top:2px solid #000000'; } elsif ( $cs_oldrow->state ne $row->state ) { - #$cell_style = 'border-top:1px solid #cccccc'; #default? - $cell_style = 'border-top:1px solid #bbbbbb'; - } elsif ( $cs_oldrow->state eq $row->state ) { - #$cell_style = 'border-top:dashed 1px dark gray'; - #$cell_style = 'border-top:1px dashed #cccccc'; + $cell_style = 'border-top:1px solid #888888'; + } elsif ( $cs_oldrow->county ne $row->county ) { + $cell_style = 'border-top:1px solid #cccccc'; + } else { $cell_style = ''; } } @@ -457,6 +456,7 @@ my @fields = ( code2country($country). " ($country)"; }, + #state sub { my $label = $seen_state{$_[0]->country}->{$_[0]->state}++ ? '' : state_label($_[0]->state, $_[0]->country); @@ -489,6 +489,7 @@ my @fields = ( $label.$countylinks.$addlink; }, + #county sub { my $label = $seen_county{$_[0]->country}->{$_[0]->state}->{$_[0]->county}++ ? '' : $_[0]->county; @@ -526,19 +527,29 @@ my @fields = ( ); }, - sub { $_[0]->city - ? $_[0]->city. ' '. + #city + sub { + my $r = shift; + if ( $r->city ) { + + if ( $r->taxclass ) { #but if it has a taxclass, can't remove + $r->city; + } else { + $r->city. ' '. remove_link( col => 'city', label=> 'remove city', - row => $_[0], + row => $r, cgi => $cgi, - ) - : '(all) '. - expand_link( desc => 'Add Cities', - row => $_[0], - label => 'add cities', - cgi => $cgi, ); + } + } else { + '(all) '. + expand_link( desc => 'Add Cities', + row => $r, + label => 'add cities', + cgi => $cgi, + ); + } }, ); @@ -552,10 +563,24 @@ my @color = ( if ( $conf->exists('enable_taxclasses') ) { push @header, qq!Tax class (add new)!; push @header2, '(per-package classification)'; - push @fields, sub { $_[0]->taxclass || '(all) '. - separate_taxclasses_link($_[0], 'Separate Taxclasses'). - 'separate taxclasses' - }; + push @fields, sub { + my $r = shift; + if ( $r->taxclass ) { + $r->taxclass; + } else { + my $sql = 'SELECT COUNT(*) FROM cust_main_county + WHERE country = ? AND state = ? AND county = ? + AND city = ? AND taxclass IS NOT NULL'; + if ( FS::Record->scalar_sql($sql, map $r->$_, + qw( country state county city) ) ) { + '(none)'; + } else { + '(all) '. + separate_taxclasses_link($r, 'Separate Taxclasses'). + 'separate taxclasses'; + } + } + }; push @color, sub { shift->taxclass ? '000000' : '999999' }; push @links, ''; push @link_onclicks, '';