From 28cfbff70d436446c348fefdf37b64ef8c47d0c7 Mon Sep 17 00:00:00 2001 From: Pradeep Nayak Date: Mon, 18 Mar 2019 12:17:47 +0000 Subject: [PATCH] dev/core/issues/806, Fixed DB error already exist when recording recurring payment having tax --- CRM/Contribute/BAO/ContributionRecur.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CRM/Contribute/BAO/ContributionRecur.php b/CRM/Contribute/BAO/ContributionRecur.php index 126cf8f67d..af0dc48824 100644 --- a/CRM/Contribute/BAO/ContributionRecur.php +++ b/CRM/Contribute/BAO/ContributionRecur.php @@ -901,7 +901,7 @@ INNER JOIN civicrm_contribution con ON ( con.id = mp.contribution_id ) */ protected static function isComplete($recurringContributionID, $installments) { $paidInstallments = CRM_Core_DAO::singleValueQuery( - 'SELECT count(*) FROM civicrm_contribution + 'SELECT count(*) FROM civicrm_contribution WHERE contribution_recur_id = %1 AND contribution_status_id = ' . CRM_Core_PseudoConstant::getKey('CRM_Contribute_BAO_Contribution', 'contribution_status_id', 'Completed'), array(1 => array($recurringContributionID, 'Integer')) @@ -949,13 +949,13 @@ INNER JOIN civicrm_contribution con ON ( con.id = mp.contribution_id ) $priceField = new CRM_Price_DAO_PriceField(); $priceField->id = $lineItem['price_field_id']; $priceField->find(TRUE); - $lineSets[$priceField->price_set_id][] = $lineItem; + $lineSets[$priceField->price_set_id][$lineItem['price_field_id']] = $lineItem; } } // CRM-19309 if more than one then just pass them through: elseif (count($lineItems) > 1) { foreach ($lineItems as $index => $lineItem) { - $lineSets[$index][] = $lineItem; + $lineSets[$index][$lineItem['price_field_id']] = $lineItem; } } -- 2.25.1