diff options
author | mark <mark> | 2010-06-16 02:19:13 +0000 |
---|---|---|
committer | mark <mark> | 2010-06-16 02:19:13 +0000 |
commit | e37126c4d8a3eea4d27c855733a77cba026565c4 (patch) | |
tree | 7157385b2dc65a6dd2aa70149711fc29b53315f8 /httemplate | |
parent | 50de3921a10ae2ecc890c8661aa772dce72f0c53 (diff) |
RT#5683: payment batch upload uses job queue and progressbar
Diffstat (limited to 'httemplate')
-rw-r--r-- | httemplate/elements/file-upload.html | 5 | ||||
-rw-r--r-- | httemplate/misc/upload-batch.cgi | 32 | ||||
-rwxr-xr-x | httemplate/search/cust_pay_batch.cgi | 38 |
3 files changed, 35 insertions, 40 deletions
diff --git a/httemplate/elements/file-upload.html b/httemplate/elements/file-upload.html index 7e2eeefcd..034eaec38 100644 --- a/httemplate/elements/file-upload.html +++ b/httemplate/elements/file-upload.html @@ -54,10 +54,15 @@ <INPUT TYPE="hidden" NAME="upload_fields" VALUE="<% join(',', @field) %>" /> % foreach (@field) { +% if($param{'no_table'}) { + <% shift @label %> <INPUT TYPE="file" NAME="<% $_ %>" /> +% } +% else { <TR> <TH ALIGN="<% $param{'label_align'} || 'right' %>"><% shift @label %></TH> <TD><INPUT TYPE="file" NAME="<% $_ %>" /></TD> </TR> +% } % } <DIV STYLE="display:<% $param{debug} ? 'visible' : 'none' %>"> diff --git a/httemplate/misc/upload-batch.cgi b/httemplate/misc/upload-batch.cgi index d1a84fd02..be80b1ff7 100644 --- a/httemplate/misc/upload-batch.cgi +++ b/httemplate/misc/upload-batch.cgi @@ -1,36 +1,10 @@ -% if ( $error ) { -% errorpage($error); -% } else { - <% include('/elements/header.html','Batch results upload successful') %> - <% include('/elements/footer.html') %> -% } +<% $server->process %> <%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'), - ); - } - -} +my $server = + new FS::UI::Web::JSRPC 'FS::pay_batch::process_import_results', $cgi; </%init> diff --git a/httemplate/search/cust_pay_batch.cgi b/httemplate/search/cust_pay_batch.cgi index 7376e9dcb..825d21c8a 100755 --- a/httemplate/search/cust_pay_batch.cgi +++ b/httemplate/search/cust_pay_batch.cgi @@ -124,7 +124,7 @@ $sql_query = "SELECT paybatchnum,invnum,custnum,cpb.last,cpb.first," . 'LEFT JOIN pay_batch USING ( batchnum ) ' . "$search ORDER BY $orderby"; -my $html_init = ''; +my $html_init = '<TABLE>'; if ( $pay_batch ) { my $fixed = $conf->config('batch-fixed_format-'. $pay_batch->payby); if ( @@ -136,11 +136,12 @@ if ( $pay_batch ) { && $FS::CurrentUser::CurrentUser->access_right('Redownload resolved batches') ) ) { - $html_init .= qq!<FORM ACTION="$p/misc/download-batch.cgi" METHOD="POST">!; + $html_init .= qq!<TR><FORM ACTION="$p/misc/download-batch.cgi" METHOD="POST">!; if ( $fixed ) { $html_init .= qq!<INPUT TYPE="hidden" NAME="format" VALUE="$fixed">!; } else { - $html_init .= qq!Download batch in format <SELECT NAME="format">!. + $html_init .= qq!Download batch in format !. + qq!<SELECT NAME="format">!. qq!<OPTION VALUE="">Default batch mode</OPTION>!. qq!<OPTION VALUE="csv-td_canada_trust-merchant_pc_batch">CSV file for TD Canada Trust Merchant PC Batch</OPTION>!. qq!<OPTION VALUE="csv-chase_canada-E-xactBatch">CSV file for Chase Canada E-xactBatch</OPTION>!. @@ -151,7 +152,7 @@ if ( $pay_batch ) { qq!<OPTION VALUE="RBC">Royal Bank of Canada PDS</OPTION>!. qq!</SELECT>!; } - $html_init .= qq!<INPUT TYPE="hidden" NAME="batchnum" VALUE="$batchnum"><INPUT TYPE="submit" VALUE="Download"></FORM><BR>!; + $html_init .= qq!<INPUT TYPE="hidden" NAME="batchnum" VALUE="$batchnum"><INPUT TYPE="submit" VALUE="Download"></FORM><BR><BR></TR>!; } if ( @@ -160,13 +161,28 @@ if ( $pay_batch ) { && $FS::CurrentUser::CurrentUser->access_right('Reprocess batches') ) ) { - $html_init .= qq!<FORM ACTION="$p/misc/upload-batch.cgi" METHOD="POST" ENCTYPE="multipart/form-data">!. - qq!Upload results<BR>!. - qq!Filename <INPUT TYPE="file" NAME="batch_results"><BR>!; + $html_init .= '<TR>'. + include('/elements/form-file_upload.html', + 'name' => 'FileUpload', + 'action' => "$p/misc/upload-batch.cgi", + 'num_files' => 1, + 'fields' => [ 'batchnum', 'format' ], + 'message' => 'Batch results uploaded.', + ) . + 'Upload results<BR></TR><TR>'. + include('/elements/file-upload.html', + 'field' => 'file', + 'label' => 'Filename', + 'no_table'=> 1 + ). + '<BR></TR>' + ; if ( $fixed ) { $html_init .= qq!<INPUT TYPE="hidden" NAME="format" VALUE="$fixed">!; } else { - $html_init .= qq!Format <SELECT NAME="format">!. + # should pull this from %import_info + $html_init .= qq!<TR>Format !. + qq!<SELECT NAME="format">!. qq!<OPTION VALUE="">Default batch mode</OPTION>!. qq!<OPTION VALUE="csv-td_canada_trust-merchant_pc_batch">CSV results from TD Canada Trust Merchant PC Batch</OPTION>!. qq!<OPTION VALUE="csv-chase_canada-E-xactBatch">CSV file for Chase Canada E-xactBatch</OPTION>!. @@ -175,12 +191,12 @@ if ( $pay_batch ) { qq!<OPTION VALUE="ach-spiritone">Spiritone ACH batch</OPTION>!. qq!<OPTION VALUE="paymentech">Chase Paymentech XML</OPTION>!. qq!<OPTION VALUE="RBC">Royal Bank of Canada PDS</OPTION>!. - qq!</SELECT><BR>!; + qq!</SELECT><BR></TR>!; } $html_init .= qq!<INPUT TYPE="hidden" NAME="batchnum" VALUE="$batchnum">!; - $html_init .= '<INPUT TYPE="submit" VALUE="Upload"></FORM><BR>'; + $html_init .= '<TR> <INPUT TYPE="submit" VALUE="Upload"></FORM><BR> </TR>'; } - + $html_init .= '</TABLE>' } if ($pay_batch) { |