show imported region and rate #s, RT#83146
[freeside.git] / httemplate / edit / bulk-cust_main_county.html
index 93d9444..650fa78 100644 (file)
@@ -1,7 +1,9 @@
-<% 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="rate_only" VALUE="<% $rate_only %>">
 <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 %>
   </TR>
 % }
 
-<% include('/elements/tr-input-text.html',
+% unless ($rate_only) {
+  <% include('/elements/tr-input-text.html',
              'field' => 'taxname',
              'label' => 'Tax name'
           )
-%>
+  %>
+% }
 
 <% include('/elements/tr-input-percentage.html',
              'field' => 'tax',
           )
 %>
 
-<% include('/elements/tablebreak-tr-title.html', value=>'Exemptions' ) %>
+% unless ($rate_only) {
+  <% include('/elements/tablebreak-tr-title.html', value=>'Exemptions' ) %>
 
-<% include('/elements/tr-checkbox.html',
+  <% include('/elements/tr-checkbox.html',
              'field' => 'setuptax',
              'value' => 'Y',
              'label' => 'This tax not applicable to setup fees',
           )
-%>
+  %>
 
-<% include('/elements/tr-checkbox.html',
+  <% include('/elements/tr-checkbox.html',
              'field' => 'recurtax',
              'value' => 'Y',
              'label' => 'This tax not applicable to recurring fees',
           )
-%>
+  %>
 
-<% include('/elements/tr-input-money.html',
+  <% include('/elements/tr-input-money.html',
              'field' => 'exempt_amount',
              'label' => 'Monthly exemption per customer ($25 "Texas tax")',
           )
-%>
+  %>
+% }
 
 </TABLE>
 
 <BR>
 
-<INPUT TYPE="submit" VALUE="Bulk add tax">
+<INPUT TYPE="submit" VALUE="Bulk <% $action %> tax">
 
 <%init>
 
@@ -78,16 +98,18 @@ 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|edit_rate_only)$/ or die "unknown action";
+my $action = $1;
+my $rate_only;
+if ($action eq "edit_rate_only") {
+  $action = "edit";
+  $rate_only = 1;
 }
+my $title = "Bulk $action tax rate";
 
 my @cust_main_county =
   map {
@@ -97,7 +119,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 +136,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);