X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fupload-batch.cgi;h=ccaf6f046319db09505f43639f14b3ed88d496df;hb=a014f2e125028a5a80c0587f36df5e865b70b47f;hp=742bbc0c69dfe1aceec01a0550b95ad2276ed146;hpb=3ce7691203a7737406bf2d4442f7fd84b81f847e;p=freeside.git diff --git a/httemplate/misc/upload-batch.cgi b/httemplate/misc/upload-batch.cgi index 742bbc0c6..ccaf6f046 100644 --- a/httemplate/misc/upload-batch.cgi +++ b/httemplate/misc/upload-batch.cgi @@ -1,34 +1,37 @@ -% -% -% my $fh = $cgi->upload('batch_results'); -% my $filename = $cgi->param('batch_results'); -% $filename =~ /^(.*[\/\\])?([^\/\\]+)$/ -% or die "unparsable filename: $filename\n"; -% my $paybatch = $2; -% -% my $error = defined($fh) -% ? FS::cust_pay_batch::import_results( { -% 'filehandle' => $fh, -% 'format' => $cgi->param('format'), -% 'paybatch' => $paybatch, -% } ) -% : 'No file'; -% % if ( $error ) { -% -% + % eidiot($error); %# $cgi->param('error', $error); %# print $cgi->redirect( "${p}cust_main-import.cgi % } else { -% - <% include("/elements/header.html",'Batch results upload successful') %> -% + % } -% +<%init> + +my $error; + +my $fh = $cgi->upload('batch_results'); +$error = 'No file uploaded' unless defined($fh); + +unless ( $error ) { + + $cgi->param('batchnum') =~ /^(\d+)$/; + my $batchnum = $1; + my $pay_batch = qsearchs( 'pay_batch', { 'batchnum' => $batchnum } ); + if ( ! $pay_batch ) { + $error = "batchnum $batchnum not found"; + } elsif ( $pay_batch->status ne 'I' ) { + $error = "batch $paybatch is not in transit"; + } else { + $error = $pay_batch->import_results( + 'filehandle' => $fh, + 'format' => $cgi->param('format'), + ); + } +<%/init>