Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / httemplate / misc / payment.cgi
index 90b03c7..f4f0b56 100644 (file)
@@ -1,5 +1,7 @@
 <& /elements/header.html, mt("Process [_1] payment",$type{$payby})  &>
 <& /elements/small_custview.html, $cust_main, '', '', popurl(2) . "view/cust_main.cgi" &>
+<BR>
+
 <FORM NAME="OneTrueForm" ACTION="process/payment.cgi" METHOD="POST" onSubmit="document.OneTrueForm.process.disabled=true">
 <INPUT TYPE="hidden" NAME="custnum"   VALUE="<% $custnum %>">
 <INPUT TYPE="hidden" NAME="payby"     VALUE="<% $payby %>">
@@ -8,7 +10,7 @@
 
 <& /elements/init_overlib.html &>
 
-<% ntable('#cccccc') %>
+<TABLE class="fsinnerbox">
 
   <& /elements/tr-amount_fee.html,
        'amount'             => $amount,
        'process-display'    => scalar($conf->config('manual_process-display')),
        'process-skip_first' => $conf->exists('manual_process-skip_first'),
        'num_payments'       => scalar($cust_main->cust_pay), 
-       'surcharge_percentage' => scalar($conf->config('credit-card-surcharge-percentage')),
+       'surcharge_percentage' =>
+         ( $payby eq 'CARD'
+             ? scalar($conf->config('credit-card-surcharge-percentage'))
+             : 0
+         ),
   &>
 
 % if ( $conf->exists('part_pkg-term_discounts') ) {
       <TD ALIGN="right"><% mt('Account number') |h %></TD>
       <TD><INPUT TYPE="text" SIZE=10 NAME="payinfo1" VALUE="<%$account%>"></TD>
       <TD ALIGN="right"><% mt('Type') |h %></TD>
-      <TD><SELECT NAME="paytype"><% join('', map { qq!<OPTION VALUE="$_" !.($paytype eq $_ ? 'SELECTED' : '').">$_</OPTION>" } @FS::cust_main::paytypes) %></SELECT></TD>
+      <TD><SELECT NAME="paytype"><% join('', map { qq!<OPTION VALUE="$_" !.($paytype eq $_ ? 'SELECTED' : '').">$_</OPTION>" } FS::cust_payby->paytypes) %></SELECT></TD>
     </TR>
     <TR>
       <TD ALIGN="right"><% mt($routing_label) |h %></TD>
@@ -273,7 +279,11 @@ my @states = sort { $a cmp $b } keys %states;
 
 my $amount = '';
 if ( $balance > 0 ) {
-  $amount = $balance;
+  # when configured to do so, amount will only auto-fill with balance
+  # if balance represents a single invoice
+  $amount = $balance
+    unless $conf->exists('manual_process-single_invoice_amount')
+      && ($cust_main->open_cust_bill != 1);
 }
 
 my $payunique = "webui-payment-". time. "-$$-". rand() * 2**32;