From 771da74eb88bfbabf4477acc8233d30f86df049f Mon Sep 17 00:00:00 2001 From: Damien <damien.burel@maarch.org> Date: Fri, 20 Dec 2019 10:55:58 +0100 Subject: [PATCH] FEAT #12224 TIME 0:15 Refactoring export + date custom field contact --- src/app/contact/controllers/ContactController.php | 12 ++++++++++++ src/app/resource/controllers/ExportController.php | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/app/contact/controllers/ContactController.php b/src/app/contact/controllers/ContactController.php index c17f74966f5..a2493c578de 100755 --- a/src/app/contact/controllers/ContactController.php +++ b/src/app/contact/controllers/ContactController.php @@ -17,6 +17,7 @@ use Contact\models\ContactCustomFieldListModel; use Contact\models\ContactFillingModel; use Contact\models\ContactModel; use Contact\models\ContactParameterModel; +use CustomField\models\CustomFieldModel; use Entity\models\EntityModel; use Group\controllers\PrivilegeController; use History\controllers\HistoryController; @@ -135,6 +136,17 @@ class ContactController $externalId = '{}'; } + if (!empty($body['customFields'])) { + foreach ($body['customFields'] as $key => $value) { + $customField = ContactCustomFieldListModel::getById(['id' => $key, 'select' => ['type']]); + if ($customField['type'] == 'date') { + $date = new \DateTime($value); + $value = $date->format('Y-m-d'); + $body['customFields'][$key] = $value; + } + } + } + $id = ContactModel::create([ 'civility' => $body['civility'] ?? null, 'firstname' => $body['firstname'] ?? null, diff --git a/src/app/resource/controllers/ExportController.php b/src/app/resource/controllers/ExportController.php index f74c28947a9..63a5d53b4c5 100644 --- a/src/app/resource/controllers/ExportController.php +++ b/src/app/resource/controllers/ExportController.php @@ -646,11 +646,11 @@ class ExportController return null; } $customFieldId = $customField[1]; - $customField = ResModel::get(['select' => ["custom_fields->>'{$customFieldId}' as csfield"], 'where' => ['res_id = ?'], 'data' => [$args['resId']]]); + $customField = ResModel::get(['select' => ["custom_fields->'{$customFieldId}' as csfield"], 'where' => ['res_id = ?'], 'data' => [$args['resId']]]); if (empty($customField[0]['csfield'])) { return null; } - $customValues = json_decode($customField[0]['csfield']); + $customValues = json_decode($customField[0]['csfield'], true); if (!isset($customValues)) { return null; -- GitLab