dev/core#4166 Fix Contribute Import Parser fatal when soft-credit is empty
authorMathieu Lutfy <mathieu@symbiotic.coop>
Tue, 14 Mar 2023 00:59:29 +0000 (20:59 -0400)
committerMathieu Lutfy <mathieu@bidon.ca>
Wed, 15 Mar 2023 13:44:25 +0000 (09:44 -0400)
CRM/Contribute/Import/Parser/Contribution.php

index e5dbf1724416cf9c052326bdd62da62a69b4a782..a379e26bff48ad0cb671ccfea1aefc3d4acfd866 100644 (file)
@@ -434,7 +434,7 @@ class CRM_Contribute_Import_Parser_Contribution extends CRM_Import_Parser {
       $softCreditParams = [];
       foreach ($params['SoftCreditContact'] ?? [] as $index => $softCreditContact) {
         $softCreditParams[$index]['soft_credit_type_id'] = $softCreditContact['soft_credit_type_id'];
-        $softCreditParams[$index]['contact_id'] = $this->getContactID($softCreditContact['Contact'], $softCreditContact['Contact']['id'] ?? NULL, 'SoftCreditContact', $this->getDedupeRulesForEntity('SoftCreditContact'));
+        $softCreditParams[$index]['contact_id'] = $this->getContactID($softCreditContact['Contact'], !empty($softCreditContact['Contact']['id']) ? $softCreditContact['Contact']['id'] : NULL, 'SoftCreditContact', $this->getDedupeRulesForEntity('SoftCreditContact'));
         if (empty($softCreditParams[$index]['contact_id']) && in_array($this->getActionForEntity('SoftCreditContact'), ['update', 'select'])) {
           throw new CRM_Core_Exception(ts('Soft Credit Contact not found'));
         }