[freeside-commits] freeside/httemplate/misc/process tax-upgrade.cgi, NONE, 1.1 tax-import.cgi, 1.1, 1.2

Jeff Finucane,420,, jeff at wavetail.420.am
Tue Apr 15 13:48:01 PDT 2008


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

Modified Files:
	tax-import.cgi 
Added Files:
	tax-upgrade.cgi 
Log Message:
(finally) wrap up new tax rate engine (for now)

Index: tax-import.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/misc/process/tax-import.cgi,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- tax-import.cgi	1 Apr 2008 00:54:44 -0000	1.1
+++ tax-import.cgi	15 Apr 2008 20:47:58 -0000	1.2
@@ -1,58 +1,9 @@
-% if ( $error ) {
-%   warn $error;
-%   errorpage($error);
-%  } else {
-    <% include('/elements/header.html','Import successful') %> 
-    <% include('/elements/footer.html') %> 
-%  }
+<% $server->process %>
 <%init>
 
 die "access denied"
-  unless $FS::CurrentUser::CurrentUser->access_right('Import');
-
-my $cfh = $cgi->upload('codefile');
-my $zfh = $cgi->upload('plus4file');
-my $tfh = $cgi->upload('txmatrix');
-my $dfh = $cgi->upload('detail');
-#warn $cgi;
-#warn $fh;
-
-my $oldAutoCommit = $FS::UID::AutoCommit;
-local $FS::UID::AutoCommit = 0;
-my $dbh = dbh;
-
-my $error = defined($cfh)
-  ? FS::tax_class::batch_import( {
-      filehandle => $cfh,
-      'format'   => scalar($cgi->param('format')),
-    } )
-  : 'No code file';
-
-$error ||= defined($zfh)
-  ? FS::cust_tax_location::batch_import( {
-      filehandle => $zfh,
-      'format'   => scalar($cgi->param('format')),
-    } )
-  : 'No plus4 file';
-
-$error ||= defined($tfh)
-  ? FS::part_pkg_taxrate::batch_import( {
-      filehandle => $tfh,
-      'format'   => scalar($cgi->param('format')),
-    } )
-  : 'No tax matrix file';
-
-$error ||= defined($dfh)
-  ? FS::tax_rate::batch_import( {
-      filehandle => $dfh,
-      'format'   => scalar($cgi->param('format')),
-    } )
-  : 'No tax detail file';
+  unless $FS::CurrentUser::CurrentUser->access_right('Resend invoices');
 
-if ($error) {
-  $dbh->rollback or die $dbh->errstr if $oldAutoCommit;
-}else{
-  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
-}
+my $server = new FS::UI::Web::JSRPC 'FS::tax_rate::process_batch', $cgi; 
 
 </%init>

--- NEW FILE: tax-upgrade.cgi ---
% if ( $error ) {
%   warn $error;
%   errorpage($error);
%  } else {
    <% include('/elements/header.html','Import successful') %> 
    <% include('/elements/footer.html') %> 
%  }
<%init>

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

my $cfh = $cgi->upload('codefile');
my $zfh = $cgi->upload('plus4file');
my $tfh = $cgi->upload('txmatrix');
my $dfh = $cgi->upload('detail');
#warn $cgi;
#warn $fh;

my $oldAutoCommit = $FS::UID::AutoCommit;
local $FS::UID::AutoCommit = 0;
my $dbh = dbh;

my $error = '';

my ($cifh, $cdfh, $zifh, $zdfh, $tifh, $tdfh);

if (defined($cfh)) {
  $cifh = new File::Temp( TEMPLATE => 'code.insert.XXXXXXXX',
                          DIR      => $FS::UID::conf_dir. "/cache.". $FS::UID::datasrc,
                        ) or die "can't open temp file: $!\n";

  $cdfh = new File::Temp( TEMPLATE => 'code.insert.XXXXXXXX',
                          DIR      => $FS::UID::conf_dir. "/cache.". $FS::UID::datasrc,
                        ) or die "can't open temp file: $!\n";

  while(<$cfh>) {
    my $fh = '';
    $fh = $cifh if $_ =~ /"I"\s*$/;
    $fh = $cdfh if $_ =~ /"D"\s*$/;
    die "bad input line: $_" unless $fh;
    print $fh $_;
  }
  seek $cifh, 0, 0;
  seek $cdfh, 0, 0;

}else{
  $error = 'No code file';
}

$error ||= FS::tax_class::batch_import( {
             filehandle => $cifh,
             'format'   => scalar($cgi->param('format')),
           } );

close $cifh if $cifh;

if (defined($zfh)) {
  $zifh = new File::Temp( TEMPLATE => 'plus4.insert.XXXXXXXX',
                          DIR      => $FS::UID::conf_dir. "/cache.". $FS::UID::datasrc,
                        ) or die "can't open temp file: $!\n";

  $zdfh = new File::Temp( TEMPLATE => 'plus4.insert.XXXXXXXX',
                          DIR      => $FS::UID::conf_dir. "/cache.". $FS::UID::datasrc,
                        ) or die "can't open temp file: $!\n";

  while(<$zfh>) {
    my $fh = '';
    $fh = $zifh if $_ =~ /"I"\s*$/;
    $fh = $zdfh if $_ =~ /"D"\s*$/;
    die "bad input line: $_" unless $fh;
    print $fh $_;
  }
  seek $zifh, 0, 0;
  seek $zdfh, 0, 0;

}else{
  $error = 'No plus4 file';
}

$error ||= FS::cust_tax_location::batch_import( {
             filehandle => $zifh,
             'format'   => scalar($cgi->param('format')),
           } );
close $zifh if $zifh;

if (defined($tfh)) {
  $tifh = new File::Temp( TEMPLATE => 'txmatrix.insert.XXXXXXXX',
                          DIR      => $FS::UID::conf_dir. "/cache.". $FS::UID::datasrc,
                        ) or die "can't open temp file: $!\n";

  $tdfh = new File::Temp( TEMPLATE => 'txmatrix.insert.XXXXXXXX',
                          DIR      => $FS::UID::conf_dir. "/cache.". $FS::UID::datasrc,
                        ) or die "can't open temp file: $!\n";

  while(<$tfh>) {
    my $fh = '';
    $fh = $tifh if $_ =~ /"I"\s*$/;
    $fh = $tdfh if $_ =~ /"D"\s*$/;
    die "bad input line: $_" unless $fh;
    print $fh $_;
  }
  seek $tifh, 0, 0;
  seek $tdfh, 0, 0;

}else{
  $error = 'No tax matrix file';
}

$error ||= FS::part_pkg_taxrate::batch_import( {
             filehandle => $tifh,
             'format'   => scalar($cgi->param('format')),
           } );
close $tifh if $tifh;

$error ||= defined($dfh)
  ? FS::tax_rate::batch_update( {
      filehandle => $dfh,
      'format'   => scalar($cgi->param('format')),
    } )
  : 'No tax detail file';

$error ||= FS::part_pkg_taxrate::batch_import( {
             filehandle => $tdfh,
             'format'   => scalar($cgi->param('format')),
           } );
close $tdfh if $tdfh;

$error ||= FS::cust_tax_location::batch_import( {
             filehandle => $zdfh,
             'format'   => scalar($cgi->param('format')),
           } );
close $zdfh if $zdfh;

$error ||= FS::tax_class::batch_import( {
             filehandle => $cdfh,
             'format'   => scalar($cgi->param('format')),
           } );
close $cdfh if $cdfh;

if ($error) {
  $dbh->rollback or die $dbh->errstr if $oldAutoCommit;
}else{
  $dbh->commit or die $dbh->errstr if $oldAutoCommit;
}

</%init>



More information about the freeside-commits mailing list