X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fpayment.cgi;h=813b560bd017574742929e24b5205538ca82e894;hb=ad7f49821d40ffd099a45acc32ba91e0e211aede;hp=472763b2d046532313a5b94b1ba9d2ec57c6dc92;hpb=8800e519dc0e4b8eee4ab2cddc74d52c205bc536;p=freeside.git
diff --git a/httemplate/misc/payment.cgi b/httemplate/misc/payment.cgi
index 472763b2d..813b560bd 100644
--- a/httemplate/misc/payment.cgi
+++ b/httemplate/misc/payment.cgi
@@ -10,8 +10,6 @@
% #include( '/elements/table.html', '#cccccc' )
-% my $amount = $balance > 0 ? sprintf("%.2f", $balance) : '';
-
<% ntable('#cccccc') %>
Payment amount |
@@ -32,14 +30,14 @@
% if ( $fee ) {
-
- +
+
+ <% $fee_op %>
<% $money_char . $fee %>
<% $fee_pkg->pkg |h %>
=
|
- <% length($amount) ? $money_char. sprintf('%.2f', $amount + $fee ) : '' %> TOTAL
+ <% length($amount) ? $money_char. sprintf('%.2f', ($fee_display eq 'add') ? $amount + $fee : $amount - $fee ) : '' %> <% $fee_display eq 'add' ? 'TOTAL' : 'AVAILABLE' %>
% }
|
@@ -55,13 +53,13 @@
var total = '';
if ( what.value.length ) {
- total = parseFloat(what.value) + <% $fee %>;
+ total = parseFloat(what.value) <% $fee_op %> <% $fee %>;
/* total = Math.round(total*100)/100; */
total = '<% $money_char %>' + total.toFixed(2);
}
var total_cell = document.getElementById('ajax_total_cell');
- total_cell.innerHTML = '' + total + ' TOTAL';
+ total_cell.innerHTML = '' + total + ' <% $fee_display eq 'add' ? 'TOTAL' : 'AVAILABLE' %>';
}
@@ -300,7 +298,20 @@ my @states = sort { $a cmp $b } keys %states;
my $fee = '';
my $fee_pkg = '';
-if ( $conf->config('manual_process-pkgpart') ) {
+my $fee_display = '';
+my $fee_op = '';
+my $num_payments = scalar($cust_main->cust_pay);
+#handle old cust_main.pm (remove...)
+$num_payments = scalar( @{ [ $cust_main->cust_pay ] } )
+ unless defined $num_payments;
+if ( $conf->config('manual_process-pkgpart')
+ and ! $conf->exists('manual_process-skip_first') || $num_payments
+ )
+{
+
+ $fee_display = $conf->config('manual_process-display') || 'add';
+ $fee_op = $fee_display eq 'add' ? '+' : '-';
+
$fee_pkg =
qsearchs('part_pkg', { pkgpart=>$conf->config('manual_process-pkgpart') } );
@@ -308,6 +319,15 @@ if ( $conf->config('manual_process-pkgpart') ) {
# (though ->unit_setup doesn't use it...)
$fee = $fee_pkg->option('setup_fee')
if $fee_pkg; #in case.. better than dying with a perl traceback
+
+}
+
+my $amount = '';
+if ( $balance > 0 ) {
+ $amount = $balance;
+ $amount += $fee
+ if $fee && $fee_display eq 'subtract';
+ $amount = sprintf("%.2f", $amount);
}
my $payunique = "webui-payment-". time. "-$$-". rand() * 2**32;