From 9b1fa6eb8b37e456a1f189895ba338f769aa0dc7 Mon Sep 17 00:00:00 2001 From: kurund Date: Tue, 12 Aug 2014 19:48:30 +0530 Subject: [PATCH] invoice fixes for offline contribution receipts --- CRM/Contribute/Form/Contribution.php | 36 ++++++++++++++++------------ 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/CRM/Contribute/Form/Contribution.php b/CRM/Contribute/Form/Contribution.php index 79ef93482e..2e15a29966 100644 --- a/CRM/Contribute/Form/Contribution.php +++ b/CRM/Contribute/Form/Contribution.php @@ -1050,21 +1050,6 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP } } - // assign dataArray for contribution receipts - $dataArray = array(); - foreach ($this->_lineItems as $key => $value) { - foreach ($value as $v) { - if (isset($dataArray[(string)$v['tax_rate']])) { - $dataArray[(string)$v['tax_rate']] = $dataArray[(string)$v['tax_rate']] + CRM_Utils_Array::value('tax_amount', $v); - } - else { - $dataArray[(string)$v['tax_rate']] = CRM_Utils_Array::value('tax_amount', $v); - } - } - } - $smarty = CRM_Core_Smarty::singleton(); - $smarty->assign('dataArray', $dataArray); - // process price set and get total amount and line items. $lineItem = array(); $priceSetId = CRM_Utils_Array::value('price_set_id', $submittedValues); @@ -1356,6 +1341,27 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP ); } + // assign tax calculation for contribution receipts + $taxRate = array(); + if ($this->_action & CRM_Core_Action::UPDATE) { + foreach ($this->_lineItems as $key => $value) { + foreach ($value as $v) { + if (isset($taxRate[(string) $v['tax_rate']])) { + $taxRate[(string) $v['tax_rate']] = $taxRate[(string) $v['tax_rate']] + CRM_Utils_Array::value('tax_amount', $v); + } + else { + $taxRate[(string) $v['tax_rate']] = CRM_Utils_Array::value('tax_amount', $v); + } + } + } + } + else { + $taxRate = array($submittedValues['tax_amount']); + } + + $smarty = CRM_Core_Smarty::singleton(); + $smarty->assign('dataArray', $taxRate); + //send receipt mail. if ($contribution->id && !empty($formValues['is_email_receipt'])) { $formValues['contact_id'] = $this->_contactID; -- 2.25.1