X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Fcust_main_county.cgi;h=2e433754e3e94d739ad1e2a959aa7c5377461646;hb=a3eeea576fbb0119c3c55306979e62352c6905ec;hp=3bbbb4b47bf6205a90b7e789c5a4e6c1cd68b045;hpb=9509e5bfb7f9331303153cac24d7bfecbe2ea9f1;p=freeside.git
diff --git a/httemplate/browse/cust_main_county.cgi b/httemplate/browse/cust_main_county.cgi
index 3bbbb4b47..2e433754e 100755
--- a/httemplate/browse/cust_main_county.cgi
+++ b/httemplate/browse/cust_main_county.cgi
@@ -1,170 +1,301 @@
-<% include('/elements/header.html', "Tax Rate Listing", menubar(
- 'Edit tax rates' => $p. "edit/cust_main_county.cgi",
-)) %>
-
- Click on expand country to specify a country's tax rates by state.
-
Click on expand state to specify a state's tax rates by county.
-%
-%my $conf = new FS::Conf;
-%my $enable_taxclasses = $conf->exists('enable_taxclasses');
-%
-%if ( $enable_taxclasses ) {
-
-
-
Click on expand taxclasses to specify tax classes
-% }
-
-
-
-<% table() %>
-
-
- <% $hashref->{country} %> |
-%
-%
-% my $j;
-% if ( $sup ) {
-% $sup--;
-% } else {
+<% include( 'elements/browse.html',
+ 'title' => "Tax Rates $title",
+ 'name_singular' => 'tax rate',
+ 'menubar' => \@menubar,
+ 'html_init' => $html_init,
+ 'html_posttotal' => $html_posttotal,
+ 'query' => {
+ 'table' => 'cust_main_county',
+ 'hashref' => $hashref,
+ 'order_by' =>
+ 'ORDER BY country, state, county, taxclass',
+ },
+ 'count_query' => $count_query,
+ 'header' => \@header,
+ 'header2' => \@header2,
+ 'fields' => \@fields,
+ 'align' => $align,
+ 'color' => \@color,
+ 'cell_style' => \@cell_style,
+ 'links' => \@links,
+ 'link_onclicks' => \@link_onclicks,
+ )
+%>
%
-% #lookahead
-% for ( $j=1; $i+$j<@regions; $j++ ) {
-% last if $hashref->{country} ne $regions[$i+$j]->country
-% || $hashref->{state} ne $regions[$i+$j]->state
-% || $hashref->{tax} != $regions[$i+$j]->tax
-% || $hashref->{exempt_amount} != $regions[$i+$j]->exempt_amount
-% || $hashref->{setuptax} ne $regions[$i+$j]->setuptax
-% || $hashref->{recurtax} ne $regions[$i+$j]->recurtax;
-% }
+% # collapse state
+% # % }
%
-% my $newsup=0;
-% if ( $j>1 && $i+$j+1 < @regions
-% && ( $hashref->{state} ne $regions[$i+$j+1]->state
-% || $hashref->{country} ne $regions[$i+$j+1]->country
-% )
-% && ( ! $i
-% || $hashref->{state} ne $regions[$i-1]->state
-% || $hashref->{country} ne $regions[$i-1]->country
-% )
-% ) {
-% $sup = $j-1;
-% } else {
-% $j = 1;
-% }
-%
-%
-
-
- <%
- $hashref->{state}
- ? ' BGCOLOR="#ffffff">'. $hashref->{state}
- : qq! BGCOLOR="#cccccc">(ALL) !.
- qq!expand country!
- %>
-% if ( $j>1 ) {
-
- collapse state
-% }
-
-
- |
-% }
-% # $sup=$newsup;
-
-
- {county} ) {
-%
- BGCOLOR="#ffffff"><% $hashref->{county} %>
-% } else {
-%
- BGCOLOR="#cccccc">(ALL)
-% if ( $hashref->{state} ) {
-
- expand state
-% }
-% }
-
- |
-
- {taxclass} ) {
-%
- BGCOLOR="#ffffff"><% $hashref->{taxclass} %>
-% } else {
-%
- BGCOLOR="#cccccc">(ALL)
-% if ( $enable_taxclasses ) {
-
- expand taxclasses
-% }
-% }
-
- |
-
- {taxname} ) {
-%
- BGCOLOR="#ffffff"><% $hashref->{taxname} %>
-% } else {
-%
- BGCOLOR="#cccccc">Tax
-% }
-
- |
-
- <% $hashref->{tax} %>% |
-
-
-% if ( $hashref->{exempt_amount} > 0 ) {
-
- $<% sprintf("%.2f", $hashref->{exempt_amount} ) %> per month
-% }
-% if ( $hashref->{setuptax} =~ /^Y$/i ) {
-
- Setup fee
-% }
-% if ( $hashref->{recurtax} =~ /^Y$/i ) {
-
- Recurring fee
-% }
-
-
- |
-
-
-% }
-
-
-
-
-<% include('/elements/footer.html') %>
+<%once>
+
+my $conf = new FS::Conf;
+my $money_char = $conf->config('money_char') || '$';
+
+my @manual_countries = ( 'US', 'CA', 'AU', 'NZ', 'GB' ); #some manual ordering
+my @all_countries = ( @manual_countries,
+ grep { my $c = $_; ! grep { $c eq $_ } @manual_countries }
+ map { $_->country }
+ qsearch({
+ 'select' => 'country',
+ 'table' => 'cust_main_county',
+ 'hashref' => {},
+ 'extra_sql' => 'GROUP BY country',
+ })
+ );
+
+my $exempt_sub = sub {
+ my $cust_main_county = shift;
+
+ my @exempt = ();
+ push @exempt,
+ sprintf("$money_char%.2f per month", $cust_main_county->exempt_amount )
+ if $cust_main_county->exempt_amount > 0;
+
+ push @exempt, 'Setup fee'
+ if $cust_main_county->setuptax =~ /^Y$/i;
+
+ push @exempt, 'Recurring fee'
+ if $cust_main_county->recurtax =~ /^Y$/i;
+
+ [ map [ {'data'=>$_} ], @exempt ];
+};
+
+my $oldrow;
+my $cell_style;
+my $cell_style_sub = sub {
+ my $row = shift;
+ if ( $oldrow ne $row ) {
+ if ( $oldrow ) {
+ if ( $oldrow->country ne $row->country ) {
+ $cell_style = 'border-top:1px solid #000000';
+ } elsif ( $oldrow->state ne $row->state ) {
+ $cell_style = 'border-top:1px solid #cccccc'; #default?
+ } elsif ( $oldrow->state eq $row->state ) {
+ #$cell_style = 'border-top:dashed 1px dark gray';
+ $cell_style = 'border-top:1px dashed #cccccc';
+ }
+ }
+ $oldrow = $row;
+ }
+ return $cell_style;
+};
+
+#my $edit_link = [ "${p}edit/cust_main_county.html", 'taxnum' ];
+my $edit_link = [ 'javascript:void(0);', sub { ''; } ];
+
+my $edit_onclick = sub {
+ my $row = shift;
+ my $taxnum = $row->taxnum;
+ include( '/elements/popup_link_onclick.html',
+ 'action' => "${p}edit/cust_main_county.html?$taxnum",
+ 'actionlabel' => 'Edit tax rate',
+ 'height' => 420,
+ #default# 'width' => 540,
+ #default# 'color' => '#333399',
+ );
+};
+
+sub expand_link {
+ my %param = @_;
+
+ my $taxnum = $param{'row'}->taxnum;
+ my $url = "${p}edit/cust_main_county-expand.cgi?$taxnum";
+
+ '