[freeside-commits] freeside/httemplate/edit bulk-cust_main_county.html, NONE, 1.1

Ivan,,, ivan at wavetail.420.am
Sat Oct 11 17:54:20 PDT 2008


Update of /home/cvs/cvsroot/freeside/httemplate/edit
In directory wavetail.420.am:/tmp/cvs-serv7229/edit

Added Files:
	bulk-cust_main_county.html 
Log Message:
add a quick bulk tax add tool (eating my own dogfood instead of running a one-off SQL query), RT#4117

--- NEW FILE: bulk-cust_main_county.html ---
<% include('/elements/header-popup.html', 'Bulk Tax rate') %>

<FORM ACTION="<% popurl(1)."process/bulk-cust_main_county.html" %>" METHOD="POST">

<INPUT TYPE="hidden" NAME="taxnum" VALUE="<% join(',', @taxnum) %>">

<TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0>

<% include('/elements/tr-td-label.html', 'label' => 'Country' ) %>
  <TD BGCOLOR="#dddddd"><% $countries %>
  </TD>
</TR>

<% include('/elements/tr-td-label.html', 'label' => 'State' ) %>
  <TD BGCOLOR="#dddddd"><% $states %>
  </TD>
</TR>

% if ( $counties ) {
  <% include('/elements/tr-td-label.html', 'label' => 'County' ) %>
    <TD BGCOLOR="#dddddd"><% $counties %>
    </TD>
  </TR>
% }

% if ( $conf->exists('enable_taxclasses') && $taxclasses ) {
  <% include('/elements/tr-td-label.html', 'label' => 'Tax Class' ) %>
    <TD BGCOLOR="#dddddd"><% $taxclasses %>
    </TD>
  </TR>
% }

<% include('/elements/tr-input-text.html',
             'field' => 'taxname',
             'label' => 'Tax name'
          )
%>

<% include('/elements/tr-input-percentage.html',
             'field' => 'tax',
             'label' => 'Tax rate',
          )
%>

<% include('/elements/tablebreak-tr-title.html', value=>'Exemptions' ) %>

<% include('/elements/tr-checkbox.html',
             'field' => 'setuptax',
             'value' => 'Y',
             'label' => 'This tax not applicable to setup fees',
          )
%>

<% include('/elements/tr-checkbox.html',
             'field' => 'recurtax',
             'value' => 'Y',
             'label' => 'This tax not applicable to recurring fees',
          )
%>

<% 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">

<%init>

my $conf = new FS::Conf;

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 die 'Nothing selected'; #XXX better error when nothing selected
  @taxnum = split(',', $1);
}

my @cust_main_county =
  map {
        qsearchs('cust_main_county', { 'taxnum' => $_ })
          or die "unknown taxnum $1";
      }
      @taxnum;

my %seen_country = {};
my @countries = map  code2country($_)."&nbsp;($_)",
                grep !$seen_country{$_}++,
                map  $_->country,
                     @cust_main_county;
my $countries = join(', ', @countries);

my %seen_state = {};
my @states = map state_label($_->[0], $_->[1]),
            grep !$seen_state{$_->[0]}++,
             map [ $_->state, $_->country ],
                 @cust_main_county;
my $states = join(', ', @states);

my %seen_county = {};
my @counties = grep !$seen_county{$_}++, map $_->county, @cust_main_county;
my $counties = join(', ', @counties);

my %seen_taxclass = {};
my @taxclasses = grep !$seen_taxclass{$_}++, map $_->taxclass, @cust_main_county;
my $taxclasses = join(', ', @taxclasses);

#my @fields = (
#  { field=>'country',  type=>'fixed-country', },
#  { field=>'state',    type=>'fixed-state', },
#  { field=>'county',   type=>'fixed', },
#);

#push @fields, { field=>'taxclass', type=>'fixed', }
#  if $conf->exists('enable_taxclasses');

</%init>



More information about the freeside-commits mailing list