X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fpayment.cgi;h=4fa3df773b4d9e72d22f095aa851d332d3c1860a;hb=6f401f92ef5362b8e42e76fee24d89e46d78a0dd;hp=90b03c7e87b465b40e7daaa2490eb763eade2eba;hpb=dfc390ed3e27de2f1ec26edf9c07f5d3bd8a6049;p=freeside.git
diff --git a/httemplate/misc/payment.cgi b/httemplate/misc/payment.cgi
index 90b03c7e8..4fa3df773 100644
--- a/httemplate/misc/payment.cgi
+++ b/httemplate/misc/payment.cgi
@@ -17,7 +17,11 @@
'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', $cust_main->agentnum))
+ : 0
+ ),
&>
% if ( $conf->exists('part_pkg-term_discounts') ) {
@@ -36,6 +40,8 @@
% $paycvv = $cust_main->paycvv;
% ( $month, $year ) = $cust_main->paydate_monthyear;
% $payname = $cust_main->payname if $cust_main->payname;
+% } elsif ($disable_payauto_default) {
+% $auto = 0;
% }
@@ -44,7 +50,7 @@
- |
+ >
<% mt('Exp.') |h %> |
|
+% my $disallow_no_auto_apply = 0;
% if ( $conf->exists("batch-enable")
% || grep $payby eq $_, $conf->config('batch-enable_payby')
% ) {
%
% if ( grep $payby eq $_, $conf->config('realtime-disable_payby') ) {
+% $disallow_no_auto_apply = 1;
@@ -212,7 +222,7 @@
-
+
<% mt('Add to current batch') |h %>
|
@@ -222,11 +232,52 @@
- 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; }">
+ NAME="auto" VALUE="1" onClick="if (this.checked) { document.OneTrueForm.save.checked=true; }">
<% mt("Charge future payments to this [_1] automatically",$type{$payby}) |h %>
|
+% unless ($disallow_no_auto_apply) {
+% # false laziness with edit/cust_pay.cgi
+
+
+
+ <% mt('Auto-apply to invoices') |h %>
+
+
+
+
+
+ |
+
+
+% # this can go away if no_auto_apply handling gets added to batch payment processing
+
+
+% }
+
+% if ($auto && $disable_payauto_default) {
+
+% }
+
@@ -264,6 +315,10 @@ my $payinfo = '';
my $conf = new FS::Conf;
+my $auto = ( ( $payby eq 'CARD' && $cust_main->payby ne 'DCRD' ) || ( $payby eq 'CHEK' && $cust_main->payby eq 'CHEK' ) ) ? 1 : 0;
+my $disable_payauto_default = $conf->exists('disable_payauto_default');
+my $possibly_uncheck_auto = ' ONCHANGE="possibly_uncheck_auto()"';
+
#false laziness w/selfservice make_payment.html shortcut for one-country
my %states = map { $_->state => 1 }
qsearch('cust_main_county', {
@@ -273,7 +328,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;