From 35a1327486c5871fd3c93701c2b82accb8a392e4 Mon Sep 17 00:00:00 2001 From: litspeedmarc Date: Mon, 1 Aug 2016 10:35:50 -0400 Subject: [PATCH] CRM-19126: civicrm_line_item.tax_amount incorrectly set when using online payment processor --- CRM/Contribute/BAO/Contribution.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CRM/Contribute/BAO/Contribution.php b/CRM/Contribute/BAO/Contribution.php index c457a1dff8..da6d136989 100644 --- a/CRM/Contribute/BAO/Contribution.php +++ b/CRM/Contribute/BAO/Contribution.php @@ -4109,7 +4109,7 @@ WHERE eft.financial_trxn_id IN ({$trxnId}, {$baseTrxnId['financialTrxnId']}) // Update contribution. if (!empty($params['id'])) { - // CRM-19126, civicrm_line_item.tax_amount incorrectly set when using online payment processor. + // CRM-19126 and CRM-19152, civicrm_line_item.tax_amount incorrectly set when using online payment processor. // It looks like this method is meant to be called in multiple contexts: new & update // When creating, would expect total_amount to be set? Prior to 4.7, when creating online membership // via contribution page, call scenario was different. @@ -4118,9 +4118,9 @@ WHERE eft.financial_trxn_id IN ({$trxnId}, {$baseTrxnId['financialTrxnId']}) // Conceptually, if we're "updating", and total_amount is unknown. We're dealing with an incomplete // view, why are we nulling out all line item taxes, or messing with any other tax amounts? if (!isset($params['total_amount'])) { - return $params; + return $params; } - + $id = $params['id']; $values = $ids = array(); $contrbutionParams = array('id' => $id); -- 2.25.1