From 71560cf3c1511a77fe8784be21e0f74b78bda342 Mon Sep 17 00:00:00 2001 From: CiviCRM Date: Fri, 6 Jun 2014 19:14:12 +0530 Subject: [PATCH] CRM-14800 fix - Contact merge deletes a contribution record if it is linked to a membership being merged https://issues.civicrm.org/jira/browse/CRM-14800 --- CRM/Dedupe/Merger.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/CRM/Dedupe/Merger.php b/CRM/Dedupe/Merger.php index ef3a6261a7..4bd23f7115 100644 --- a/CRM/Dedupe/Merger.php +++ b/CRM/Dedupe/Merger.php @@ -459,11 +459,13 @@ INNER JOIN civicrm_membership membership2 ON membership1.membership_type_id = m foreach ($cidRefs[$table] as $field) { // carry related contributions CRM-5359 if (in_array($table, $paymentTables)) { - $payOprSqls = self::operationSql($mainId, $otherId, $table, $tableOperations, 'payment'); - $sqls = array_merge($sqls, $payOprSqls); - $paymentSqls = self::paymentSql($table, $mainId, $otherId); $sqls = array_merge($sqls, $paymentSqls); + + if (!empty($tables) && !in_array('civicrm_contribution', $tables)) { + $payOprSqls = self::operationSql($mainId, $otherId, $table, $tableOperations, 'payment'); + $sqls = array_merge($sqls, $payOprSqls); + } } $preOperationSqls = self::operationSql($mainId, $otherId, $table, $tableOperations); -- 2.25.1