From a4f7ae9b41ac15462ad7b80958f4bb170415bd94 Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Fri, 5 Jun 2015 11:41:00 -0400 Subject: [PATCH] CRM-16632 - Fix calculation of contribution fees --- CRM/Contribute/Form/Contribution.php | 2 +- templates/CRM/Contribute/Form/AdditionalPayment.tpl | 4 ++-- templates/CRM/Contribute/Form/Contribution.tpl | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CRM/Contribute/Form/Contribution.php b/CRM/Contribute/Form/Contribution.php index 8439582b5e..771f799967 100644 --- a/CRM/Contribute/Form/Contribution.php +++ b/CRM/Contribute/Form/Contribution.php @@ -953,7 +953,7 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP $sum = CRM_Utils_Money::format($sum - $self->_values['tax_amount'], NULL, '%a'); } } - if (CRM_Utils_Rule::cleanMoney($fields['total_amount']) != $sum) { + if (CRM_Utils_Rule::cleanMoney($fields['total_amount']) != CRM_Utils_Rule::cleanMoney($sum)) { $errors['total_amount'] = ts('The sum of fee amount and net amount must be equal to total amount'); } } diff --git a/templates/CRM/Contribute/Form/AdditionalPayment.tpl b/templates/CRM/Contribute/Form/AdditionalPayment.tpl index d0b9c8d802..488d20c396 100644 --- a/templates/CRM/Contribute/Form/AdditionalPayment.tpl +++ b/templates/CRM/Contribute/Form/AdditionalPayment.tpl @@ -264,8 +264,8 @@ cj('#fee_amount').change( function() { var totalAmount = cj('#total_amount').val(); var feeAmount = cj('#fee_amount').val(); var netAmount = totalAmount.replace(/,/g, '') - feeAmount.replace(/,/g, ''); - if (!cj('#net_amount').val()) { - cj('#net_amount').val(netAmount); + if (!cj('#net_amount').val() && totalAmount) { + cj('#net_amount').val(CRM.formatMoney(netAmount, true)); } }); diff --git a/templates/CRM/Contribute/Form/Contribution.tpl b/templates/CRM/Contribute/Form/Contribution.tpl index f545deebd9..9a4e34a5bb 100644 --- a/templates/CRM/Contribute/Form/Contribution.tpl +++ b/templates/CRM/Contribute/Form/Contribution.tpl @@ -625,8 +625,8 @@ cj('#fee_amount').change( function() { var totalAmount = cj('#total_amount').val(); var feeAmount = cj('#fee_amount').val(); var netAmount = totalAmount.replace(/,/g, '') - feeAmount.replace(/,/g, ''); - if (!cj('#net_amount').val()) { - cj('#net_amount').val(netAmount); + if (!cj('#net_amount').val() && totalAmount) { + cj('#net_amount').val(CRM.formatMoney(netAmount, true)); } }); -- 2.25.1