stray closing /TABLE in the no-ticket case
[freeside.git] / httemplate / edit / bulk-cust_main_county.html
index 93d9444..8b12348 100644 (file)
@@ -1,7 +1,8 @@
-<% include('/elements/header-popup.html', 'Bulk Tax rate') %>
+<% include('/elements/header-popup.html', $title ) %>
 
 <FORM ACTION="<% popurl(1)."process/bulk-cust_main_county.html" %>" METHOD="POST">
 
+<INPUT TYPE="hidden" NAME="action" VALUE="<% $action %>">
 <INPUT TYPE="hidden" NAME="taxnum" VALUE="<% join(',', @taxnum) %>">
 
 <TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0>
   </TR>
 % }
 
+% if ( $cities ) {
+  <& /elements/tr-td-label.html, 'label' => 'City' &>
+    <TD BGCOLOR="#dddddd"><% $cities %>
+    </TD>
+  </TR>
+% }
+
+% if ( $districts ) {
+  <& /elements/tr-td-label.html, 'label' => 'District' &>
+    <TD BGCOLOR="#dddddd"><% $districts %>
+    </TD>
+  </TR>
+% }
+
 % if ( $conf->exists('enable_taxclasses') && $taxclasses ) {
   <% include('/elements/tr-td-label.html', 'label' => 'Tax Class' ) %>
     <TD BGCOLOR="#dddddd"><% $taxclasses %>
@@ -68,7 +83,7 @@
 
 <BR>
 
-<INPUT TYPE="submit" VALUE="Bulk add tax">
+<INPUT TYPE="submit" VALUE="Bulk <% $action %> tax">
 
 <%init>
 
@@ -78,16 +93,13 @@ die "access denied"
   unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
 
 my @taxnum;
-if ( $cgi->param('error') ) {
-  $cgi->param('taxnum') =~ /^([\d,]+)$/
-    or die "no taxnum, but error: ". $cgi->param('error');
-  @taxnum = split(',', $1);
-} else {
-  my($query) = $cgi->keywords;
-  $query =~ /^([\d,]+)$/
-    or $m->comp('/elements/errorpage-popup.html', 'Nothing selected');
-  @taxnum = split(',', $1);
-}
+$cgi->param('taxnum') =~ /^([\d,]+)$/
+   or $m->comp('/elements/errorpage-popup.html', $cgi->param('error') || 'Nothing selected');
+my @taxnum = split(',', $1);
+
+$cgi->param('action') =~ /^(add|edit)$/ or die "unknown action";
+my $action = $1;
+my $title = "Bulk $action tax rate";
 
 my @cust_main_county =
   map {
@@ -97,7 +109,7 @@ my @cust_main_county =
       @taxnum;
 
 my %seen_country = {};
-my @countries = map  code2country($_)."&nbsp;($_)",
+my @countries = map  FS::geocode_Mixin->code2country($_)."&nbsp;($_)",
                 grep !$seen_country{$_}++,
                 map  $_->country,
                      @cust_main_county;
@@ -114,6 +126,13 @@ my %seen_county = {};
 my @counties = grep !$seen_county{$_}++, map $_->county, @cust_main_county;
 my $counties = join(', ', @counties);
 
+my %seen_city = ( map { $_->city => 1 } @cust_main_county );
+my @cities = grep $_, keys %seen_city;
+my $cities = join(', ', @cities);
+
+my @districts = grep $_, map { $_->district } @cust_main_county;
+my $districts = join(', ', @districts);
+
 my %seen_taxclass = {};
 my @taxclasses = grep !$seen_taxclass{$_}++, map $_->taxclass, @cust_main_county;
 my $taxclasses = join(', ', @taxclasses);