From 8205a69eee764f69afea3b94228f577075ffac13 Mon Sep 17 00:00:00 2001 From: Pradeep Nayak Date: Tue, 12 Sep 2017 14:13:41 +0530 Subject: [PATCH] fixed jenkins style --- CRM/Contribute/BAO/Contribution.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/CRM/Contribute/BAO/Contribution.php b/CRM/Contribute/BAO/Contribution.php index d05ea37a6c..c7a5598258 100644 --- a/CRM/Contribute/BAO/Contribution.php +++ b/CRM/Contribute/BAO/Contribution.php @@ -3642,7 +3642,7 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac $receiveDate = CRM_Utils_Date::isoToMysql($params['contribution']->receive_date); } - $financialAccount = self::getFinancialAccountForStatusChangeTrxn($params, $prevFinancialItem['financial_account_id']); + $financialAccount = self::getFinancialAccountForStatusChangeTrxn($params, CRM_Utils_Array::value('financial_account_id', $prevFinancialItem)); $currency = $params['prevContribution']->currency; if ($params['contribution']->currency) { @@ -3654,7 +3654,7 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac 'contact_id' => $params['prevContribution']->contact_id, 'currency' => $currency, 'amount' => self::getFinancialItemAmountFromParams($inputParams, $context, $lineItemDetails, $isARefund, $previousLineItemTotal), - 'description' => $prevFinancialItem['description'], + 'description' => CRM_Utils_Array::value('description', $prevFinancialItem), 'status_id' => $prevFinancialItem['status_id'], 'financial_account_id' => $financialAccount, 'entity_table' => 'civicrm_line_item', @@ -3664,11 +3664,15 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac $params['line_item'][$fieldId][$fieldValueId]['deferred_line_total'] = $itemParams['amount']; $params['line_item'][$fieldId][$fieldValueId]['financial_item_id'] = $financialItem->id; - if ($lineItemDetails['tax_amount'] && $lineItemDetails['tax_amount'] !== 'null') { + if (($lineItemDetails['tax_amount'] && $lineItemDetails['tax_amount'] !== 'null') || ($context == 'changeFinancialType')) { $invoiceSettings = Civi::settings()->get('contribution_invoice_settings'); $taxTerm = CRM_Utils_Array::value('tax_term', $invoiceSettings); $taxAmount = $lineItemDetails['tax_amount']; - if ($previousLineItemTotal != $lineItemDetails['line_total']) { + if ($context == 'changeFinancialType' && $lineItemDetails['tax_amount'] === 'null') { + // reverse the Sale Tax amount if there is no tax rate associated with new Financial Type + $taxAmount = CRM_Utils_Array::value('tax_amount', CRM_Utils_Array::value($fieldValueId, $previousLineItems), 0); + } + elseif ($previousLineItemTotal != $lineItemDetails['line_total']) { $taxAmount -= CRM_Utils_Array::value('tax_amount', CRM_Utils_Array::value($fieldValueId, $previousLineItems), 0); } $itemParams['amount'] = self::getMultiplier($params['contribution']->contribution_status_id, $context) * $taxAmount; @@ -5366,7 +5370,7 @@ LEFT JOIN civicrm_contribution on (civicrm_contribution.contact_id = civicrm_co } return $lineTotal; } - else if ($context == 'changeFinancialType') { + elseif ($context == 'changeFinancialType') { return -$lineItemDetails['line_total']; } elseif ($context == 'changedStatus') { -- 2.25.1