X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Fcust_main_county.cgi;h=12bdeb333b486612064984db4bf8abcd1ff459ac;hb=a8d483fa8f540586674300da75f2b5c5b4bb7b15;hp=69a7eb9a04631d76b6ef15056b814aeef3a60943;hpb=c8cccb4a92adceb943c635fe62dad0d034462ce0;p=freeside.git
diff --git a/httemplate/browse/cust_main_county.cgi b/httemplate/browse/cust_main_county.cgi
index 69a7eb9a0..12bdeb333 100755
--- a/httemplate/browse/cust_main_county.cgi
+++ b/httemplate/browse/cust_main_county.cgi
@@ -1,166 +1,288 @@
-<% 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 {
-%
-% #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;
-% }
-%
-% 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;
-% }
+% # collapse state
+% # % }
%
-%
-
-
- <%
- $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;
+ my $color = '#333399';
+ qq!overlib( OLiframeContent('${p}edit/cust_main_county.html?$taxnum', 540, 420, 'edit_cust_main_county_popup' ), CAPTION, 'Edit tax rate', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '$color', CGCOLOR, '$color' ); return false;!;
+};
+
+sub expand_link {
+ my( $row, $desc ) = @_;
+ my $taxnum = $row->taxnum;
+ my $url = "${p}edit/cust_main_county-expand.cgi?$taxnum";
+ my $color = '#333399';
+
+ qq!