X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fsearch%2Felements%2Fcust_pay_batch_top.html;h=d29e487b21e2a6483f1345779701d948fb401ab0;hb=3f2a7b01b59902faed5767d81e2959e131bdbdfd;hp=96ed428b0a4cc329a7e257b643281ab7775dffa1;hpb=b5c4237a34aef94976bc343c8d9e138664fc3984;p=freeside.git
diff --git a/httemplate/search/elements/cust_pay_batch_top.html b/httemplate/search/elements/cust_pay_batch_top.html
index 96ed428b0..d29e487b2 100644
--- a/httemplate/search/elements/cust_pay_batch_top.html
+++ b/httemplate/search/elements/cust_pay_batch_top.html
@@ -1,23 +1,43 @@
+<& /elements/xmlhttp.html,
+ 'url' => $p.'misc/xmlhttp-pay_batch-note.html',
+ 'subs' => [ 'get_note' ]
+&>
+
% # 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') )
% ) {
-
-
+
+
+
% } # end of download
+
+
% # Upload batch
% if ( $pay_batch->status eq 'I'
@@ -26,41 +46,42 @@ Download batch in format
% # summary info
Batch is <% $statustext{$status} %>
<%$count%> payments batched
<%$money_char%><%$total%> total in batch
+<%def .select_gateway>
+% if ( $show_gateways ) {
+ or for gateway
+<& /elements/select-table.html,
+ empty_label => ' ',
+ field => 'gatewaynum',
+ table => 'payment_gateway',
+ name_col => 'label',
+ value_col => 'gatewaynum',
+ order_by => 'ORDER BY gatewaynum',
+ hashref => {
+ 'gateway_namespace' => 'Business::BatchPayment',
+ 'disabled' => '',
+ }
+&>
+% }
+%def>
+<%shared>
+my $show_gateways = FS::payment_gateway->count("gateway_namespace = 'Business::BatchPayment' AND disabled IS NULL");
+%shared>
<%init>
my %opt = @_;
my $pay_batch = $opt{'pay_batch'} or return;
@@ -91,23 +132,10 @@ 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 %download_formats, 'Tie::IxHash', FS::pay_batch::batch_download_formats;
tie my %upload_formats, 'Tie::IxHash', (
%download_formats,
@@ -116,7 +144,17 @@ tie my %upload_formats, 'Tie::IxHash', (
'td_eftret' => 'TD EFT Returned Items',
);
delete $upload_formats{'td_eft1464'};
-$upload_formats{'PAP'} = '264 byte results for TD Canada Trust PAP Batch',
+$upload_formats{'PAP'} = '264 byte results for TD Canada Trust PAP Batch';
+
+if ($pay_batch->type eq "CREDIT" && $pay_batch->payby eq "CHEK") {
+ foreach my $key (keys %download_formats) {
+ delete $download_formats{$key} unless FS::pay_batch->can_handle_electronic_refunds($key);
+ ## remove default format if unable to handle electronic refunds
+ if ($key eq '') {
+ delete $download_formats{$key} unless FS::pay_batch->can_handle_electronic_refunds($conf->config("batch-default_format"));
+ }
+ }
+}
my %statustext = ( 'O' => 'open', 'I' => 'in transit', 'R' => 'resolved' );
@@ -124,4 +162,5 @@ 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));
+
%init>