RT# 82988 - Fixed so only formats that can handle electronic refunds can download...
[freeside.git] / httemplate / view / cust_main / payment_history / payment.html
index 7701314..eeddc47 100644 (file)
@@ -103,7 +103,8 @@ if ($unapplied > 0) {
     if ( $opt{total_unapplied_refunds} > 0 ) {
       $apply.= ' ('.
                include( '/elements/popup_link.html',
-                          'label'       => emt('apply to refund'),
+                          'label'       => emt('apply refund'),
+                          'style'       => 'white-space: nowrap',
                           'action'      => "${p}edit/cust_pay_refund.cgi?".
                                            $cust_pay->paynum,
                           'actionlabel' => emt('Apply payment to refund'),
@@ -177,19 +178,21 @@ 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 = '';
-# note: "TOKN" is not yet supported in stock freeside
-my $voidmsg = $cust_pay->payby =~ /^(CARD|CHEK|TOKN)$/
+my $voidmsg = $cust_pay->payby =~ /^(CARD|CHEK)$/
               ? ' (' . emt('do not send anything to the payment gateway').')'
               : '';
 $void = ' ('.
-               include( '/elements/popup_link.html',
-                    'label'    => emt('void'),
-                    'action'   => "${p}misc/void-cust_pay.cgi?".$cust_pay->paynum,
-                    'actionlabel' => emt('Void payment'),
-                ).
-          ')'
+           include( '/elements/popup_link.html',
+                'label'    => emt('void'),
+                'action'   => "${p}misc/void-cust_pay.html?".$cust_pay->paynum,
+                'actionlabel' => emt('Void payment'),
+                'title'       => emt('Void this payment from the database').
+                                 $voidmsg,
+           ).
+         ')'
   if $cust_pay->closed !~ /^Y/i
   && (    ( $cust_pay->payby eq 'CARD'          && $opt{'Credit card void'} )
        || ( $cust_pay->payby eq 'CHEK'          && $opt{'Echeck void'}      )
@@ -197,13 +200,19 @@ $void = ' ('.
      );
 
 my $unapply = '';
-$unapply = areyousure_link("${p}misc/unapply-cust_pay.cgi?".$cust_pay->paynum,
-                            emt('Are you sure you want to unapply this payment?'),
-                            emt('Keep this payment, but dissociate it from the invoices it is currently applied against'),
-                            emt('unapply')
-                          )
-  if $cust_pay->closed !~ /^Y/i
-  && scalar(@cust_bill_pay)           
-  && $opt{'Unapply payment'};
+if ($opt{'Unapply payment'} && !$cust_pay->closed) {
+  $unapply = areyousure_link("${p}misc/unapply-cust_pay.cgi?".$cust_pay->paynum,
+                              emt('Are you sure you want to unapply this payment from invoices?'),
+                              emt('Keep this payment, but dissociate it from the invoices it is currently applied against'),
+                              emt('unapply')
+                            )
+    if @cust_bill_pay;
+  $unapply .= areyousure_link("${p}misc/unapply-cust_pay_refund.cgi?".$cust_pay->paynum,
+                               emt('Are you sure you want to unapply this payment from refunds?'),
+                               emt('Keep this payment, but dissociate it from the refunds it is currently applied to'),
+                               emt('unapply refunds')
+                             )
+    if $cust_pay->refund_to_unapply;
+}
 
 </%init>