X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fupload-batch.cgi;h=d1a84fd0217a9a45b647521cc26aa8aa64d25d04;hb=7b125e587a4d1ee0aca692e23ea7897f671855ae;hp=742bbc0c69dfe1aceec01a0550b95ad2276ed146;hpb=3ce7691203a7737406bf2d4442f7fd84b81f847e;p=freeside.git diff --git a/httemplate/misc/upload-batch.cgi b/httemplate/misc/upload-batch.cgi index 742bbc0c6..d1a84fd02 100644 --- a/httemplate/misc/upload-batch.cgi +++ b/httemplate/misc/upload-batch.cgi @@ -1,34 +1,36 @@ -% -% -% 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') %> -% -% } -% +% if ( $error ) { +% errorpage($error); +% } else { + <% include('/elements/header.html','Batch results upload successful') %> + <% include('/elements/footer.html') %> +% } +<%init> +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Process batches'); +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 $batchnum is not in transit"; + } else { + $error = $pay_batch->import_results( + 'filehandle' => $fh, + 'format' => $cgi->param('format'), + ); + } + +} + +