[freeside-commits] freeside/httemplate/edit/process part_pkg_taxclass.html, NONE, 1.1.2.2

Ivan,,, ivan at wavetail.420.am
Tue Feb 19 17:17:23 PST 2008


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

Added Files:
      Tag: FREESIDE_1_7_BRANCH
	part_pkg_taxclass.html 
Log Message:
update the tax class editor to enable taxclass adding, RT#2929

--- NEW FILE: part_pkg_taxclass.html ---
% if ( $error ) {
%  $cgi->param('error', $error);
<% $cgi->redirect(popurl(2). "part_pkg_taxclass.html?". $cgi->query_string ) %>
%} else {
<% $cgi->redirect(popurl(3). "browse/cust_main_county.cgi?taxclass=". uri_escape($part_pkg_taxclass->taxclass) ) %>
%}
<%init>

die "access denied"
  unless $FS::CurrentUser::CurrentUser->access_right('Configuration');

my $part_pkg_taxclass = new FS::part_pkg_taxclass {
  'taxclass' => $cgi->param('taxclass'),
};

#maybe this whole thing should be in a transaction.  at some point, no biggie
#none of the follow-up stuff will fail unless there's a more serious problem
#than a hanging record in part_pkg_taxclass...

my $error = $part_pkg_taxclass->insert;

unless ( $error ) {
  #auto-add the new taxclass to any regions that have taxclasses already

  my $sth = dbh->prepare("
    SELECT country, state, county FROM cust_main_county
      WHERE taxclass IS NOT NULL AND taxclass != ''
      GROUP BY country, state, county
  ") or die dbh->errstr;
  $sth->execute or die $sth->errstr;

  while ( my $row = $sth->fetchrow_hashref ) {
    warn "inserting for $row";
    my $cust_main_county = new FS::cust_main_county {
      'country'  => $row->{country},
      'state'    => $row->{state},
      'county'   => $row->{county},
      'tax'      => 0,
      'taxclass' => $part_pkg_taxclass->taxclass,
      #exempt_amount
      #taxname
      #setuptax
      #recurtax
    };
    $error = $cust_main_county->insert;
    #last if $error;
    die $error if $error;
  }


}

</%init>



More information about the freeside-commits mailing list