From 12279209ebe6c3acbb1689097a3642abc1a06fac Mon Sep 17 00:00:00 2001
From: Jaap Jansma <jaap.jansma@civicoop.org>
Date: Tue, 30 Apr 2019 13:38:57 +0200
Subject: [PATCH] only add field if it doesn't exists

---
 Civi/DataProcessor/Source/AbstractCivicrmEntitySource.php | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Civi/DataProcessor/Source/AbstractCivicrmEntitySource.php b/Civi/DataProcessor/Source/AbstractCivicrmEntitySource.php
index f82530c3..434ac16b 100644
--- a/Civi/DataProcessor/Source/AbstractCivicrmEntitySource.php
+++ b/Civi/DataProcessor/Source/AbstractCivicrmEntitySource.php
@@ -324,7 +324,10 @@ abstract class AbstractCivicrmEntitySource extends AbstractSource {
     if ($this->getAvailableFields()->doesFieldExist($fieldSpecification->name)) {
       if ($fieldSpecification instanceof CustomFieldSpecification) {
         $customGroupDataFlow = $this->ensureCustomGroup($fieldSpecification->customGroupTableName, $fieldSpecification->customGroupName);
-        $customGroupDataFlow->getDataSpecification()->addFieldSpecification($fieldSpecification->alias, $fieldSpecification);
+        if (!$customGroupDataFlow->getDataSpecification()->doesFieldExist($fieldSpecification->alias)) {
+          $customGroupDataFlow->getDataSpecification()
+            ->addFieldSpecification($fieldSpecification->alias, $fieldSpecification);
+        }
       } else {
         $entityDataFlow = $this->ensureEntity();
         $entityDataFlow->getDataSpecification()->addFieldSpecification($fieldSpecification->alias, $fieldSpecification);
-- 
GitLab