add batch-enable_payby and realtime_disable_payby for better control over hybrid...
[freeside.git] / httemplate / misc / payment.cgi
index 2c889d7..9aaa459 100644 (file)
@@ -1,20 +1,13 @@
 <% include( '/elements/header.html', "Process $type{$payby} payment" ) %>
 <% include( '/elements/small_custview.html', $cust_main, '', '', popurl(2) . "view/cust_main.cgi" ) %>
 <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 %>">
+<INPUT TYPE="hidden" NAME="custnum"   VALUE="<% $custnum %>">
+<INPUT TYPE="hidden" NAME="payby"     VALUE="<% $payby %>">
 <INPUT TYPE="hidden" NAME="payunique" VALUE="<% $payunique %>">
+<INPUT TYPE="hidden" NAME="balance"   VALUE="<% $balance %>">
+
+<% include('/elements/init_overlib.html') %>
 
-<SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws_iframe.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript" SRC="../elements/overlibmws_draggable.js"></SCRIPT>
-<SCRIPT TYPE="text/javascript">
-function OLiframeContent(src, width, height, name) {
-  return ('<iframe src="'+src+'" width="'+width+'" height="'+height+'"'
-   +(name?' name="'+name+'" id="'+name+'"':'')+' scrolling="auto">'
-   +'<div>[iframe not supported]</div></iframe>');
-}
-</SCRIPT>
 % #include( '/elements/table.html', '#cccccc' ) 
 
 <% ntable('#cccccc') %>
@@ -192,23 +185,37 @@ function OLiframeContent(src, width, height, name) {
     <INPUT TYPE="checkbox" CHECKED NAME="save" VALUE="1">
     Remember this information
   </TD>
-</TR><TR>
-% if ($conf->exists("batch-enable")) {
-  <TD COLSPAN=2>
-    <INPUT TYPE="checkbox" <% ( $conf->exists("paymentforcedtobatch") && $payby eq 'CHEK' ) ? 'CHECKED DISABLED' : '' %> NAME="batch" VALUE="1">
-    Add to current batch
-% if ($conf->exists("paymentforcedtobatch") && $payby eq 'CHEK' ) {
-    <INPUT TYPE="hidden" NAME="batch" VALUE="1">
-% }
-  </TD>
-</TR><TR>
+</TR>
+
+% if ( $conf->exists("batch-enable")
+%      || grep $payby eq $_, $conf->config('batch-enable_payby')
+%    ) {
+%
+%     if ( grep $payby eq $_, $conf->config('realtime-disable_payby') ) {
+
+          <INPUT TYPE="hidden" NAME="batch" VALUE="1">
+
+%     } else {
+
+          <TR>
+            <TD COLSPAN=2>
+              <INPUT TYPE="checkbox" NAME="batch" VALUE="1">
+              Add to current batch
+            </TD>
+          </TR>
+
+%     }
 % }
+
+<TR>
   <TD COLSPAN=2>
     <INPUT TYPE="checkbox"<% ( ( $payby eq 'CARD' && $cust_main->payby ne 'DCRD' ) || ( $payby eq 'CHEK' && $cust_main->payby eq 'CHEK' ) ) ? ' CHECKED' : '' %> NAME="auto" VALUE="1" onClick="if (this.checked) { document.OneTrueForm.save.checked=true; }">
     Charge future payments to this <% $type{$payby} %> automatically
   </TD>
 </TR>
+
 </TABLE>
+
 <BR>
 <INPUT TYPE="submit" NAME="process" VALUE="Process payment">
 </FORM>
@@ -216,6 +223,9 @@ function OLiframeContent(src, width, height, name) {
 <% include('/elements/footer.html') %>
 <%init>
 
+die "access denied"
+  unless $FS::CurrentUser::CurrentUser->access_right('Process payment');
+
 my %type = ( 'CARD' => 'credit card',
              'CHEK' => 'electronic check (ACH)',
            );