diff options
author | Christopher Burger <burgerc@freeside.biz> | 2019-03-10 19:12:20 -0400 |
---|---|---|
committer | Christopher Burger <burgerc@freeside.biz> | 2019-03-10 19:12:20 -0400 |
commit | b48c02a92562395c84dbfe8c47db5c4ba14891a0 (patch) | |
tree | b2fda5bb8a2ed969b702e7006be988e47ee920a5 /httemplate | |
parent | 765aac1902113738afd1bcaee8eb25b44ee92e63 (diff) |
RT# 82988 - Fixed so only formats that can handle electronic refunds can download those files
Diffstat (limited to 'httemplate')
-rwxr-xr-x | httemplate/edit/process/cust_refund.cgi | 2 | ||||
-rw-r--r-- | httemplate/search/elements/cust_pay_batch_top.html | 26 | ||||
-rwxr-xr-x | httemplate/search/pay_batch.cgi | 8 | ||||
-rw-r--r-- | httemplate/view/cust_main/menu.html | 3 | ||||
-rw-r--r-- | httemplate/view/cust_main/payment_history/payment.html | 1 |
5 files changed, 19 insertions, 21 deletions
diff --git a/httemplate/edit/process/cust_refund.cgi b/httemplate/edit/process/cust_refund.cgi index 9175eb136..25f6e00a1 100755 --- a/httemplate/edit/process/cust_refund.cgi +++ b/httemplate/edit/process/cust_refund.cgi @@ -39,6 +39,8 @@ $cgi->param('reasonnum') =~ /^(-?\d+)$/ or die "Illegal reasonnum"; my ($reasonnum, $error) = $m->comp('/misc/process/elements/reason'); $cgi->param('reasonnum', $reasonnum) unless $error; +$error = "No batch download format configured that allows electronic refunds" unless (FS::pay_batch->can_handle_electronic_refunds && !$error); + if ( $error ) { # do nothing } elsif ( $payby =~ /^(CARD|CHEK)$/ ) { diff --git a/httemplate/search/elements/cust_pay_batch_top.html b/httemplate/search/elements/cust_pay_batch_top.html index 626d7c3ea..eee81dd5b 100644 --- a/httemplate/search/elements/cust_pay_batch_top.html +++ b/httemplate/search/elements/cust_pay_batch_top.html @@ -135,23 +135,7 @@ my $batchnum = $pay_batch->batchnum; my $fixed = $conf->config("batch-fixed_format-$payby"); -tie my %download_formats, 'Tie::IxHash', ( - '' => 'Default batch mode', - 'NACHA' => '94 byte NACHA', - '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', - 'CIBC' => '80 byte file for Canadian Imperial Bank of Commerce', -# 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, @@ -160,7 +144,13 @@ 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") { + foreach my $key (keys %download_formats) { + delete $download_formats{$key} unless FS::pay_batch->can_handle_electronic_refunds($key); + } +} my %statustext = ( 'O' => 'open', 'I' => 'in transit', 'R' => 'resolved' ); diff --git a/httemplate/search/pay_batch.cgi b/httemplate/search/pay_batch.cgi index 40df5aa56..8fe435132 100755 --- a/httemplate/search/pay_batch.cgi +++ b/httemplate/search/pay_batch.cgi @@ -33,9 +33,11 @@ ], 'align' => 'rcllrrrrc', 'fields' => [ 'batchnum', - sub { - FS::payby->shortname(shift->payby); - }, + sub { + my $self = shift; + my $type = $self->type eq 'CREDIT' ? 'CREDIT' : ''; + $type ." " . FS::payby->shortname($self->payby); + }, sub { my $self = shift; my $_date = $self->download; diff --git a/httemplate/view/cust_main/menu.html b/httemplate/view/cust_main/menu.html index cc9f1fc71..63d5c9abd 100644 --- a/httemplate/view/cust_main/menu.html +++ b/httemplate/view/cust_main/menu.html @@ -467,6 +467,9 @@ my @menu = ( actionlabel => 'Enter electronic check refund', width => 440, acl => ['Post refund' ], + condition => sub { + FS::pay_batch->can_handle_electronic_refunds + }, }, ], diff --git a/httemplate/view/cust_main/payment_history/payment.html b/httemplate/view/cust_main/payment_history/payment.html index 6402383d8..eeddc47b1 100644 --- a/httemplate/view/cust_main/payment_history/payment.html +++ b/httemplate/view/cust_main/payment_history/payment.html @@ -178,6 +178,7 @@ if ( $cust_pay->closed !~ /^Y/i qq! TITLE="! . $refundtitle . '">' . emt('refund') . '</A>)'; } +$refund = '' if ($cust_pay->batchnum && !FS::pay_batch->can_handle_electronic_refunds); my $void = ''; my $voidmsg = $cust_pay->payby =~ /^(CARD|CHEK)$/ |