From 60a5fd2a47af887627a097367248794d92a878a0 Mon Sep 17 00:00:00 2001
From: Guillaume Heurtier <guillaume.heurtier@maarch.org>
Date: Wed, 13 May 2020 11:37:40 +0200
Subject: [PATCH] FIX #13339 TIME 0:20 merge contacts external id

---
 src/app/contact/controllers/ContactController.php | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/app/contact/controllers/ContactController.php b/src/app/contact/controllers/ContactController.php
index 3e1d9b2e380..24d0411eaef 100755
--- a/src/app/contact/controllers/ContactController.php
+++ b/src/app/contact/controllers/ContactController.php
@@ -994,7 +994,7 @@ class ContactController
         }
 
         $fields = ['civility', 'firstname', 'lastname', 'company', 'address_number', 'address_street', 'address_additional1', 'address_additional2',
-                   'address_postcode', 'address_town', 'address_country', 'department', 'function', 'email', 'phone', 'custom_fields'];
+                   'address_postcode', 'address_town', 'address_country', 'department', 'function', 'email', 'phone', 'custom_fields', 'external_id'];
 
         $master = ContactModel::getById([
             'select' => $fields,
@@ -1017,20 +1017,20 @@ class ContactController
 
         $set = [];
         foreach ($fields as $field) {
-            if ($field == 'custom_fields') {
+            if ($field == 'custom_fields' || $field == 'external_id') {
                 $master[$field] = json_decode($master[$field], true);
                 $masterCustomsKeys = array_keys($master[$field]);
-                $set['custom_fields'] = $master['custom_fields'];
+                $set[$field] = $master[$field];
 
                 foreach ($duplicates as $duplicate) {
                     $duplicateCustoms = json_decode($duplicate[$field], true);
                     foreach ($duplicateCustoms as $key => $duplicateCustom) {
                         if (!in_array($key, $masterCustomsKeys)) {
-                            $set['custom_fields'][$key] = $duplicateCustom;
+                            $set[$field][$key] = $duplicateCustom;
                         }
                     }
                 }
-                $set['custom_fields'] = json_encode($set['custom_fields']);
+                $set[$field] = json_encode($set[$field]);
             } elseif (empty($master[$field])) {
                 foreach ($duplicates as $duplicate) {
                     if (!empty($duplicate[$field])) {
-- 
GitLab