From 1e06d55626aef7fea172111c44b0ab98b3d1cb62 Mon Sep 17 00:00:00 2001
From: Guillaume Heurtier <guillaume.heurtier@maarch.org>
Date: Tue, 15 Dec 2020 17:42:46 +0100
Subject: [PATCH] FIX #15578 TIME 0:35 fix missing
 loginpage_message/homepage_message in parameters

---
 migration/20.10/2010.sql                      | 12 ++++++++++
 .../controllers/ParameterController.php       | 22 +++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/migration/20.10/2010.sql b/migration/20.10/2010.sql
index 3f657347e4a..3420addd3bf 100755
--- a/migration/20.10/2010.sql
+++ b/migration/20.10/2010.sql
@@ -360,6 +360,18 @@ INSERT INTO parameters (id, description, param_value_int) VALUES ('maximumSignRo
 
 UPDATE history_batch SET total_errors = 0 WHERE total_errors IS NULL;
 
+DO $$ BEGIN
+    IF (SELECT count(id) from parameters where id = 'homepage_message') = 0 THEN
+        INSERT INTO parameters (id, param_value_string) VALUES ('homepage_message', '');
+    END IF;
+END$$;
+DO $$ BEGIN
+    IF (SELECT count(id) from parameters where id = 'loginpage_message') = 0 THEN
+        INSERT INTO parameters (id, param_value_string) VALUES ('loginpage_message', '');
+    END IF;
+END$$;
+
+
 /* ORDER ON CHRONO */
 CREATE OR REPLACE FUNCTION order_alphanum(text) RETURNS text AS $$
 declare
diff --git a/src/app/parameter/controllers/ParameterController.php b/src/app/parameter/controllers/ParameterController.php
index fe0ccfb5746..70af818afca 100755
--- a/src/app/parameter/controllers/ParameterController.php
+++ b/src/app/parameter/controllers/ParameterController.php
@@ -48,6 +48,28 @@ class ParameterController
             }
         }
 
+        $parameterIds = array_column($parameters, 'id');
+        if (!in_array('loginpage_message', $parameterIds)) {
+            $parameters[] = [
+                "description"        => null,
+                "id"                 => "loginpage_message",
+                "param_value_date"   => null,
+                "param_value_int"    => null,
+                "param_value_string" => "",
+                "value"              => ""
+            ];
+        }
+        if (!in_array('homepage_message', $parameterIds)) {
+            $parameters[] = [
+                "description"        => null,
+                "id"                 => "homepage_message",
+                "param_value_date"   => null,
+                "param_value_int"    => null,
+                "param_value_string" => "",
+                "value"              => ""
+            ];
+        }
+
         return $response->withJson(['parameters' => $parameters]);
     }
 
-- 
GitLab