From d329e758797e22cc73e501f24f5516fa90ecaea8 Mon Sep 17 00:00:00 2001
From: Quentin RIBAC <quentin.ribac@xelians.fr>
Date: Wed, 11 May 2022 15:30:23 +0200
Subject: [PATCH] FIX #20782 TIME 1:45 converting defaultDepartment to string

---
 migration/21.03/210320.sql                        | 12 ++++++++++++
 sql/data_en.sql                                   |  2 +-
 sql/data_fr.sql                                   |  2 +-
 src/app/contact/controllers/ContactController.php |  4 ++--
 4 files changed, 16 insertions(+), 4 deletions(-)
 create mode 100644 migration/21.03/210320.sql

diff --git a/migration/21.03/210320.sql b/migration/21.03/210320.sql
new file mode 100644
index 00000000000..376ba64de10
--- /dev/null
+++ b/migration/21.03/210320.sql
@@ -0,0 +1,12 @@
+-- *************************************************************************--
+--                                                                          --
+--                                                                          --
+-- Model migration script - 21.03.14 to 21.03.20                            --
+--                                                                          --
+--                                                                          --
+-- *************************************************************************--
+--DATABASE_BACKUP|parameters
+
+UPDATE parameters SET (param_value_string, param_value_int) = (lpad(param_value_int::text, 2, '0'), NULL) WHERE id = 'defaultDepartment';
+
+UPDATE parameters SET param_value_string = '21.03.20' WHERE id = 'database_version';
diff --git a/sql/data_en.sql b/sql/data_en.sql
index 4c2718a1959..15d218e84e1 100755
--- a/sql/data_en.sql
+++ b/sql/data_en.sql
@@ -823,7 +823,7 @@ INSERT INTO parameters (id, param_value_string, param_value_int, param_value_dat
 INSERT INTO parameters (id, param_value_string, param_value_int, param_value_date) VALUES ('postindexing_workbatch', NULL, 1, NULL);
 INSERT INTO parameters (id, param_value_string, param_value_int, param_value_date) VALUES ('database_version', '21.03.14', NULL, NULL);
 INSERT INTO parameters (id, param_value_string, param_value_int, param_value_date) VALUES ('user_quota', '', 0, NULL);
-INSERT INTO parameters (id, description, param_value_string, param_value_int, param_value_date) VALUES ('defaultDepartment', 'Département par défaut sélectionné dans le formulaire des adresses', NULL, 75, NULL);
+INSERT INTO parameters (id, description, param_value_string, param_value_int, param_value_date) VALUES ('defaultDepartment', 'Default department in address autocompletion form', '75', NULL, NULL);
 INSERT INTO parameters (id, description, param_value_string) VALUES ('homepage_message', 'Texte apparaissant dans la bannière sur la page d''accueil, mettre un espace pour supprimer la bannière.', 'Bienvenue dans votre <b>G</b>estion <b>E</b>lectronique du <b>C</b>ourrier.');
 INSERT INTO parameters (id, description, param_value_string) VALUES ('thumbnailsSize', 'Résolution des imagettes', '750x900');
 INSERT INTO parameters (id, description, param_value_int) VALUES ('keepDestForRedirection', 'If enabled (1), put recipient in copy for diffusion list when redirecting', 0);
diff --git a/sql/data_fr.sql b/sql/data_fr.sql
index af954582557..21f146cb294 100755
--- a/sql/data_fr.sql
+++ b/sql/data_fr.sql
@@ -740,7 +740,7 @@ INSERT INTO notifications (notification_sid, notification_id, description, is_en
 INSERT INTO parameters (id, description, param_value_string, param_value_int, param_value_date) VALUES ('work_batch_autoimport_id', NULL, NULL, 1, NULL);
 INSERT INTO parameters (id, description, param_value_string, param_value_int, param_value_date) VALUES ('database_version', NULL, '21.03.14', NULL, NULL);
 INSERT INTO parameters (id, description, param_value_string, param_value_int, param_value_date) VALUES ('user_quota', NULL, '', 0, NULL);
-INSERT INTO parameters (id, description, param_value_string, param_value_int, param_value_date) VALUES ('defaultDepartment', 'Département par défaut sélectionné dans les autocomplétions de la Base Adresse Nationale', NULL, 75, NULL);
+INSERT INTO parameters (id, description, param_value_string, param_value_int, param_value_date) VALUES ('defaultDepartment', 'Département par défaut sélectionné dans les autocomplétions de la Base Adresse Nationale', '75', NULL, NULL);
 INSERT INTO parameters (id, description, param_value_string, param_value_int, param_value_date) VALUES ('thumbnailsSize', 'Résolution des imagettes', '750x900', NULL, NULL);
 INSERT INTO parameters (id, description, param_value_string, param_value_int, param_value_date) VALUES ('keepDestForRedirection', 'Si activé (1), met le destinataire en copie de la liste de diffusion lors d''une action de redirection', NULL, 0, NULL);
 INSERT INTO parameters (id, description, param_value_string, param_value_int, param_value_date) VALUES ('QrCodePrefix', 'Si activé (1), ajoute "Maarch_" dans le contenu des QrCode générés. (Utilisable avec MaarchCapture >= 1.4)', NULL, 0, NULL);
diff --git a/src/app/contact/controllers/ContactController.php b/src/app/contact/controllers/ContactController.php
index 865f83e8991..69df2ebca80 100755
--- a/src/app/contact/controllers/ContactController.php
+++ b/src/app/contact/controllers/ContactController.php
@@ -843,9 +843,9 @@ class ContactController
 
         sort($departments, SORT_NUMERIC);
 
-        $defaultDepartment = ParameterModel::getById(['id' => 'defaultDepartment', 'select' => ['param_value_int']]);
+        $defaultDepartment = ParameterModel::getById(['id' => 'defaultDepartment', 'select' => ['param_value_string']]);
 
-        return $response->withJson(['departments' => $departments, 'default' => empty($defaultDepartment['param_value_int']) ? null : $defaultDepartment['param_value_int']]);
+        return $response->withJson(['departments' => $departments, 'default' => empty($defaultDepartment['param_value_string']) ? null : $defaultDepartment['param_value_string']]);
     }
 
     public function getDuplicatedContacts(Request $request, Response $response)
-- 
GitLab