X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fupload-batch.cgi;h=ccaf6f046319db09505f43639f14b3ed88d496df;hb=a014f2e125028a5a80c0587f36df5e865b70b47f;hp=da5e41cbc1387f71e1ada0cf9a4d16d964921854;hpb=2e1a3719f1a9fb1f561d0eb4df349f3f03d66681;p=freeside.git diff --git a/httemplate/misc/upload-batch.cgi b/httemplate/misc/upload-batch.cgi index da5e41cbc..ccaf6f046 100644 --- a/httemplate/misc/upload-batch.cgi +++ b/httemplate/misc/upload-batch.cgi @@ -1,29 +1,37 @@ -<% - - my $fh = $cgi->upload('batch_results'); - my $filename = $cgi->param('batch_results'); - $filename =~ /^.*[\/\\]([^\/\\]+)$/ or die "unparsable filename: $filename\n"; - my $paybatch = $1; - - my $error = defined($fh) - ? FS::cust_pay_batch::import_results( { - 'filehandle' => $fh, - 'format' => $cgi->param('format'), - 'paybatch' => $paybatch, - } ) - : 'No file'; - - if ( $error ) { - %> +% if ( $error ) { + - <% - eidiot($error); -# $cgi->param('error', $error); -# print $cgi->redirect( "${p}cust_main-import.cgi + +% 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 { - %> - - <%= header('Batch results upload sucessful') %> <% + $error = $pay_batch->import_results( + 'filehandle' => $fh, + 'format' => $cgi->param('format'), + ); } -%> +<%/init>