% # Download batch % if ( $status eq 'O' % or ( $status eq 'I' and $curuser->access_right('Reprocess batches') ) % or ( $status eq 'R' and $curuser->access_right('Redownload resolved batches') ) % ) { % if ( $fixed ) { % } % else { Download batch in format % }

% } # end of download % # Upload batch % if ( $pay_batch->status eq 'I' % or ( $pay_batch->status eq 'R' % and $curuser->access_right('Reprocess batches') % and $conf->exists('batch-manual_approval') % ) % ) { <% 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
<% include('/elements/file-upload.html', 'field' => 'file', 'label' => 'Filename', 'no_table' => 1, ) %>
% if ( $fixed ) { % if ( $fixed eq 'td_eft1464' ) { # special case Format % } % else { % } % } % else { Format
% } # end upload % # manual approval % if ( $fixed eq 'td_eft1464' % and $status eq 'I' % and $payby eq 'CHEK' % and $conf->exists('batch-manual_approval') % ) { % } # end manual approval
% # summary info Batch is <% $statustext{$status} %>
<%$count%> payments batched
<%$money_char%><%$total%> total in batch
<%init> my %opt = @_; my $pay_batch = $opt{'pay_batch'} or return; my $conf = new FS::Conf; my $money_char = $conf->config('money_char') || '$'; my $payby = $pay_batch->payby; my $status = $pay_batch->status; my $curuser = $FS::CurrentUser::CurrentUser; my $batchnum = $pay_batch->batchnum; my $fixed = $conf->config("batch-fixed_format-$payby"); tie my %download_formats, 'Tie::IxHash', ( '' => 'Default batch mode', 'csv-td_canada_trust-merchant_pc_batch' => 'CSV file for TD Canada Trust Merchant PC Batch', 'csv-chase_canada-E-xactBatch' => 'CSV file for Chase Canada E-xactBatch', 'PAP' => '80 byte file for TD Canada Trust PAP Batch', 'BoM' => 'Bank of Montreal ECA batch', 'ach-spiritone' => 'Spiritone ACH batch', 'paymentech' => 'XML file for Chase Paymentech', 'RBC' => 'Royal Bank of Canada PDS batch', 'td_eft1464' => '1464 byte file for TD Commercial Banking EFT', 'eft_canada' => 'EFT Canada CSV batch', # insert new batch formats here ); tie my %upload_formats, 'Tie::IxHash', ( %download_formats, # minor tweaks 'td_eftack' => 'TD EFT Acknowledgement', 'td_eftret' => 'TD EFT Returned Items', ); delete $upload_formats{'td_eft1464'}; $upload_formats{'PAP'} = '264 byte results for TD Canada Trust PAP Batch', my %statustext = ( 'O' => 'open', 'I' => 'in transit', 'R' => 'resolved' ); my $count_query = "SELECT COUNT(*) FROM cust_pay_batch WHERE batchnum=$batchnum"; my $count = FS::Record->scalar_sql($count_query); my $sum_query = "SELECT SUM(amount) FROM cust_pay_batch WHERE batchnum=$batchnum"; my $total = sprintf("%.2f", FS::Record->scalar_sql($sum_query));