From 8c95e80f477e17d4c1f60bf1a0c5a434d60f43e7 Mon Sep 17 00:00:00 2001 From: Guillaume Heurtier <guillaume.heurtier@maarch.org> Date: Mon, 14 Sep 2020 12:24:27 +0200 Subject: [PATCH] FEAT #14458 TIME 0:40 fix import contact when custom fields column is null --- src/app/contact/controllers/ContactController.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/contact/controllers/ContactController.php b/src/app/contact/controllers/ContactController.php index 9e58e823af6..875a028ed3d 100755 --- a/src/app/contact/controllers/ContactController.php +++ b/src/app/contact/controllers/ContactController.php @@ -1302,7 +1302,7 @@ class ContactController } } } - $contactToCreate['custom_fields'] = json_encode($contactToCreate['custom_fields']); + $contactToCreate['custom_fields'] = !empty($contactToCreate['custom_fields']) ? json_encode($contactToCreate['custom_fields']) : '{}'; ContactModel::create($contactToCreate); } else { @@ -1325,8 +1325,9 @@ class ContactController $oldContact = ContactModel::getById(['id' => $contact['id'], 'select' => ['custom_fields']]); + $oldContact['custom_fields'] = json_decode($oldContact['custom_fields'], true); if (!empty($oldContact['custom_fields'])) { - $set['custom_fields'] = $set['custom_fields'] + json_decode($oldContact['custom_fields'], true); + $set['custom_fields'] = $set['custom_fields'] + $oldContact['custom_fields']; } if (!empty($customsToRemove)) { foreach ($customsToRemove as $item) { -- GitLab