X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Felements%2Fcust_pay_batch_top.html;fp=httemplate%2Fsearch%2Felements%2Fcust_pay_batch_top.html;h=96ed428b0a4cc329a7e257b643281ab7775dffa1;hb=f8b35040badefb02652f875e147ee2b4b2f7c4a9;hp=0000000000000000000000000000000000000000;hpb=dc1891ff9a6e6c4b4545fe7f786af6bd0f28b2cf;p=freeside.git diff --git a/httemplate/search/elements/cust_pay_batch_top.html b/httemplate/search/elements/cust_pay_batch_top.html new file mode 100644 index 000000000..96ed428b0 --- /dev/null +++ b/httemplate/search/elements/cust_pay_batch_top.html @@ -0,0 +1,127 @@ +% # 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', +# 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)); +