From: litspeedmarc Date: Mon, 1 Aug 2016 14:35:50 +0000 (-0400) Subject: CRM-19126: civicrm_line_item.tax_amount incorrectly set when using online payment... X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=35a1327486c5871fd3c93701c2b82accb8a392e4;p=civicrm-core.git CRM-19126: civicrm_line_item.tax_amount incorrectly set when using online payment processor --- 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);