DEL out voided payments to distinguish them visually better
[freeside.git] / httemplate / browse / cust_main_county.cgi
index bbd75cc..1e0e088 100755 (executable)
@@ -1,20 +1,8 @@
+<!-- mason kludge -->
 <%
-#<!-- $Id: cust_main_county.cgi,v 1.5 2001-10-30 14:54:07 ivan Exp $ -->
 
-use strict;
-use vars qw( $cgi $p $cust_main_county );
-use CGI;
-use CGI::Carp qw(fatalsToBrowser);
-use FS::UID qw(cgisuidsetup);
-use FS::Record qw(qsearch qsearchs);
-use FS::CGI qw(header menubar popurl table);
-use FS::cust_main_county;
-
-$cgi = new CGI;
-
-&cgisuidsetup($cgi);
-
-$p = popurl(2);
+my $conf = new FS::Conf;
+my $enable_taxclasses = $conf->exists('enable_taxclasses');
 
 print header("Tax Rate Listing", menubar(
   'Main Menu' => $p,
@@ -22,20 +10,28 @@ print header("Tax Rate Listing", menubar(
 )),<<END;
     Click on <u>expand country</u> to specify a country's tax rates by state.
     <BR>Click on <u>expand state</u> to specify a state's tax rates by county.
-    <BR><BR>
 END
-print &table(), <<END;
+
+if ( $enable_taxclasses ) {
+  print '<BR>Click on <u>expand taxclasses</u> to specify tax classes';
+}
+
+print '<BR><BR>'. &table(). <<END;
       <TR>
         <TH><FONT SIZE=-1>Country</FONT></TH>
         <TH><FONT SIZE=-1>State</FONT></TH>
         <TH>County</TH>
+        <TH>Taxclass<BR><FONT SIZE=-1>(per-package classification)</FONT></TH>
+        <TH>Tax name<BR><FONT SIZE=-1>(printed on invoices)</FONT></TH>
         <TH><FONT SIZE=-1>Tax</FONT></TH>
+        <TH><FONT SIZE=-1>Exemption</TH>
       </TR>
 END
 
-my @regions = sort {    $a->country cmp $b->country
-                     or $a->state   cmp $b->state
-                     or $a->county  cmp $b->county
+my @regions = sort {    $a->country  cmp $b->country
+                     or $a->state    cmp $b->state
+                     or $a->county   cmp $b->county
+                     or $a->taxclass cmp $b->taxclass
                    } qsearch('cust_main_county',{});
 
 my $sup=0;
@@ -45,7 +41,7 @@ for ( my $i=0; $i<@regions; $i++ ) {
   my $hashref = $cust_main_county->hashref;
   print <<END;
       <TR>
-        <TD>$hashref->{country}</TD>
+        <TD BGCOLOR="#ffffff">$hashref->{country}</TD>
 END
 
   my $j;
@@ -57,7 +53,10 @@ END
     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->{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;
@@ -75,9 +74,9 @@ END
       $j = 1;
     }
 
-    print "<TD ROWSPAN=$j>", $hashref->{state}
-        ? $hashref->{state}
-        : qq!(ALL) <FONT SIZE=-1>!.
+    print "<TD ROWSPAN=$j", $hashref->{state}
+        ? ' BGCOLOR="#ffffff">'. $hashref->{state}
+        : qq! BGCOLOR="#cccccc">(ALL) <FONT SIZE=-1>!.
           qq!<A HREF="${p}edit/cust_main_county-expand.cgi?!. $hashref->{taxnum}.
           qq!">expand country</A></FONT>!;
 
@@ -88,11 +87,11 @@ END
 
 #  $sup=$newsup;
 
-  print "<TD>";
+  print "<TD";
   if ( $hashref->{county} ) {
-    print $hashref->{county};
+    print ' BGCOLOR="#ffffff">'. $hashref->{county};
   } else {
-    print "(ALL)";
+    print ' BGCOLOR="#cccccc">(ALL)';
     if ( $hashref->{state} ) {
       print qq!<FONT SIZE=-1>!.
           qq!<A HREF="${p}edit/cust_main_county-expand.cgi?!. $hashref->{taxnum}.
@@ -101,16 +100,41 @@ END
   }
   print "</TD>";
 
-  print <<END;
-        <TD>$hashref->{tax}%</TD>
-      </TR>
-END
+  print "<TD";
+  if ( $hashref->{taxclass} ) {
+    print ' BGCOLOR="#ffffff">'. $hashref->{taxclass};
+  } else {
+    print ' BGCOLOR="#cccccc">(ALL)';
+    if ( $enable_taxclasses ) {
+      print qq!<FONT SIZE=-1>!.
+            qq!<A HREF="${p}edit/cust_main_county-expand.cgi?taxclass!.
+            $hashref->{taxnum}. qq!">expand taxclasses</A></FONT>!;
+    }
+
+  }
+  print "</TD>";
+
+  print "<TD";
+  if ( $hashref->{taxname} ) {
+    print ' BGCOLOR="#ffffff">'. $hashref->{taxname};
+  } else {
+    print ' BGCOLOR="#cccccc">Tax';
+  }
+  print "</TD>";
+
+  print "<TD BGCOLOR=\"#ffffff\">$hashref->{tax}%</TD>".
+        '<TD BGCOLOR="#ffffff">';
+  print '$'. sprintf("%.2f", $hashref->{exempt_amount} ).
+        '&nbsp;per&nbsp;month<BR>'
+    if $hashref->{exempt_amount} > 0;
+  print 'Setup&nbsp;fee<BR>' if $hashref->{setuptax} =~ /^Y$/i;
+  print 'Recurring&nbsp;fee<BR>' if $hashref->{recurtax} =~ /^Y$/i;
+  print '</TD></TR>';
 
 }
 
 print <<END;
     </TABLE>
-    </CENTER>
   </BODY>
 </HTML>
 END