From e005ab6bcce94fd839b10d49c19ba8d3ce28b9da Mon Sep 17 00:00:00 2001 From: Pradeep Nayak Date: Fri, 24 May 2013 01:17:10 +0530 Subject: [PATCH] --everting code since regression issue faced on online contribution page for payment processor, CRM-12498 ---------------------------------------- * CRM-12498: API contribution.create/update DB Error: constraint violation http://issues.civicrm.org/jira/browse/CRM-12498 --- CRM/Contribute/BAO/Contribution.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/CRM/Contribute/BAO/Contribution.php b/CRM/Contribute/BAO/Contribution.php index 7dbc1e8927..2d4cf21c2d 100644 --- a/CRM/Contribute/BAO/Contribution.php +++ b/CRM/Contribute/BAO/Contribution.php @@ -2654,6 +2654,9 @@ WHERE contribution_id = %1 "; if (!CRM_Utils_Array::value('prevContribution', $params)) { $entityID = NULL; } + else { + $update = TRUE; + } // build line item array if its not set in $params if (!CRM_Utils_Array::value('line_item', $params) || $additionalPaticipantId) { CRM_Price_BAO_LineItem::getLineItemArray($params, $entityID, str_replace('civicrm_', '', $entityTable)); @@ -2771,7 +2774,6 @@ WHERE contribution_id = %1 "; self::updateFinancialAccounts($params); } } - $update = TRUE; } if (!$update) { @@ -2779,11 +2781,10 @@ WHERE contribution_id = %1 "; $financialTxn = CRM_Core_BAO_FinancialTrxn::create($trxnParams); $params['entity_id'] = $financialTxn->id; } - // record line items and finacial items - - if (!CRM_Utils_Array::value('skipLineItem', $params)) { - CRM_Price_BAO_LineItem::processPriceSet($entityId, CRM_Utils_Array::value('line_item', $params), $params['contribution'], $entityTable, $update); - } + } + // record line items and finacial items + if (!CRM_Utils_Array::value('skipLineItem', $params)) { + CRM_Price_BAO_LineItem::processPriceSet($entityId, CRM_Utils_Array::value('line_item', $params), $params['contribution'], $entityTable, $update); } // create batch entry if batch_id is passed @@ -2792,7 +2793,7 @@ WHERE contribution_id = %1 "; 'batch_id' => $params['batch_id'], 'entity_table' => 'civicrm_financial_trxn', 'entity_id' => $financialTxn->id, - ); + ); CRM_Batch_BAO_Batch::addBatchEntity($entityParams); } -- 2.25.1