X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Ftr-select-payment_options.html;h=a59963a91581faa8a57f58fe277b4e2d6fdbdd9b;hb=a8d1e0ab1d47170d29f847bcbb790a58c6eb435d;hp=3c50e88d84e58d18172862aaf8e460ae653e35e1;hpb=9d90ce6a6d2c107c0a3bcb7451932b7108466c27;p=freeside.git
diff --git a/httemplate/elements/tr-select-payment_options.html b/httemplate/elements/tr-select-payment_options.html
index 3c50e88d8..a59963a91 100644
--- a/httemplate/elements/tr-select-payment_options.html
+++ b/httemplate/elements/tr-select-payment_options.html
@@ -17,6 +17,11 @@ Example:
? scalar($conf->config('credit-card-surcharge-percentage', $cust_main->agentnum))
: 0
),
+ 'surcharge_flatfee' =>
+ ( $payby eq 'CARD'
+ ? scalar($conf->config('credit-card-surcharge-flatfee', $cust_main->agentnum))
+ : 0
+ ),
)
%doc>
@@ -33,7 +38,7 @@ Example:
-
+
@@ -44,6 +49,7 @@ Example:
&>
<& /elements/tr-amount_fee.html,
+ 'row_style' => 'STYLE="display:none;"',
%opt
&>
@@ -51,6 +57,14 @@ Example:
function <% $opt{prefix} %>payment_option_changed(what) {
+ var surcharge;
+ if (document.getElementById('surcharge_percentage') || document.getElementById('surcharge_percentage')) {
+ surcharge = (+what.value * +document.getElementById('surcharge_percentage').value) + +document.getElementById('surcharge_flatfee').value;
+ }
+ else { surcharge = 0; }
+ var amount = +what.value + +surcharge;
+ document.getElementById('amount').disabled = true;
+
if ( what.value == 'select' ) {
document.getElementById('payment_amount_row').style.display = 'none';
document.getElementById('invoice_row').style.display = 'none';
@@ -62,24 +76,50 @@ Example:
document.getElementById('invoice_row').style.display = 'block';
document.getElementById('amount').value = '';
}
+ else if ( what.value == 'specific' ) {
+ document.getElementById('payment_amount_row').style.display = 'block';
+ document.getElementById('invoice_row').style.display = 'none';
+ document.getElementById('<% $opt{prefix} %>invoice').value = 'select';
+ document.getElementById('amount').value = '0.00';
+ document.getElementById('amount').disabled = false;
+ if (document.getElementById('ajax_surcharge_cell')) {
+ document.getElementById('ajax_surcharge_cell').innerHTML = 'A credit card surcharge of <% $money_char %>0.00 is included in this payment';
+ }
+ }
else {
document.getElementById('payment_amount_row').style.display = 'block';
document.getElementById('invoice_row').style.display = 'none';
document.getElementById('<% $opt{prefix} %>invoice').value = 'select';
- document.getElementById('amount').value = what.value;
+ document.getElementById('amount').value = amount.toFixed(2);
+ document.getElementById('amount').disabled = false;
+ if (document.getElementById('ajax_surcharge_cell')) {
+ document.getElementById('ajax_surcharge_cell').innerHTML = 'A credit card surcharge of <% $money_char %>' + surcharge.toFixed(2) + ' is included in this payment';
+ }
}
}
function <% $opt{prefix} %>invoice_select_changed(what) {
+ var surcharge;
+ if (document.getElementById('surcharge_percentage') || document.getElementById('surcharge_percentage')) {
+ surcharge = (+what.value * +document.getElementById('surcharge_percentage').value) + +document.getElementById('surcharge_flatfee').value;
+ }
+ else { surcharge = 0; }
+ var amount = +what.value + +surcharge;
+
if ( what.value == 'select' ) {
+ alert("we have select");
document.getElementById('payment_amount_row').style.display = 'none';
document.getElementById('amount').value = '';
}
else {
document.getElementById('payment_amount_row').style.display = 'block';
- document.getElementById('amount').value = what.value;
+ document.getElementById('amount').value = amount.toFixed(2);
+ document.getElementById('amount').disabled = false;
+ if (document.getElementById('ajax_surcharge_cell')) {
+ document.getElementById('ajax_surcharge_cell').innerHTML = 'A credit card surcharge of <% $money_char %>' + surcharge.toFixed(2) + ' is included in this payment';
+ }
}
}
@@ -90,4 +130,7 @@ Example:
my %opt = @_;
+my $conf = new FS::Conf;
+my $money_char = $conf->config('money_char') || '$';
+
%init>
\ No newline at end of file