From 04930780bf4a2e04774d99ccfd53359522d26d91 Mon Sep 17 00:00:00 2001 From: dpradeep Date: Mon, 11 Aug 2014 20:34:20 +0530 Subject: [PATCH] VAT-648 Solved update amount bug of offline contribution with/without tax rate. --- CRM/Contribute/Form/Contribution.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/CRM/Contribute/Form/Contribution.php b/CRM/Contribute/Form/Contribution.php index 288c5470f4..79ef93482e 100644 --- a/CRM/Contribute/Form/Contribution.php +++ b/CRM/Contribute/Form/Contribution.php @@ -1117,10 +1117,20 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP if ($this->_priceSetId && CRM_Core_DAO::getFieldValue('CRM_Price_DAO_PriceSet', $this->_priceSetId, 'is_quick_config')) { $lineItems[$itemId]['unit_price'] = $lineItems[$itemId]['line_total'] = CRM_Utils_Rule::cleanMoney(CRM_Utils_Array::value('total_amount', $submittedValues)); + // Update line total and total amount with tax on edit - if ($lineItems[$itemId]['tax_amount']) { - $lineItems[$itemId]['line_total'] = CRM_Utils_Rule::cleanMoney($lineItems[$itemId]['line_total'] + $lineItems[$itemId]['tax_amount']); - $submittedValues['total_amount'] = $lineItems[$itemId]['line_total']; + $financialItemsId = CRM_Core_PseudoConstant::getTaxRates(); + if (array_key_exists($submittedValues['financial_type_id'], $financialItemsId)) { + $lineItems[$itemId]['tax_rate'] = $financialItemsId[$submittedValues['financial_type_id']]; + } + else { + $lineItems[$itemId]['tax_rate'] = $lineItems[$itemId]['tax_amount'] = "" ; + $submittedValues['tax_amount'] = 'null'; + } + if ($lineItems[$itemId]['tax_rate']) { + $lineItems[$itemId]['tax_amount'] = ($lineItems[$itemId]['tax_rate']/100) * $lineItems[$itemId]['line_total']; + $submittedValues['total_amount'] = $lineItems[$itemId]['line_total'] + $lineItems[$itemId]['tax_amount']; + $submittedValues['tax_amount'] = $lineItems[$itemId]['tax_amount']; } } // 10117 update th line items for participants -- 2.25.1