From 42aa2545c0fa3452c7bc269da7339f23e8977b36 Mon Sep 17 00:00:00 2001
From: Guillaume Heurtier <guillaume.heurtier@maarch.org>
Date: Tue, 15 Dec 2020 18:03:09 +0100
Subject: [PATCH] FIX #15578 TIME 0:15 fix missing
 loginpage_message/homepage_message in parameters + fix chrono quick search

---
 migration/20.10/2010.sql                      | 11 ++++++++++
 .../controllers/ParameterController.php       | 22 +++++++++++++++++++
 .../search/controllers/SearchController.php   |  7 ++++--
 3 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/migration/20.10/2010.sql b/migration/20.10/2010.sql
index 3f657347e4a..9f79f0bcad9 100755
--- a/migration/20.10/2010.sql
+++ b/migration/20.10/2010.sql
@@ -360,6 +360,17 @@ 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]);
     }
 
diff --git a/src/app/search/controllers/SearchController.php b/src/app/search/controllers/SearchController.php
index 884e43be277..12890d9cf9e 100644
--- a/src/app/search/controllers/SearchController.php
+++ b/src/app/search/controllers/SearchController.php
@@ -342,9 +342,12 @@ class SearchController
             } else {
                 $fields = ['subject', 'replace(alt_identifier, \' \', \'\')', 'barcode'];
 
+                $quick = $body['meta']['values'];
+                $quick = str_replace(' ', '', $quick);
+
                 $fields = AutoCompleteController::getInsensitiveFieldsForRequest(['fields' => $fields]);
                 $requestDataDocument = AutoCompleteController::getDataForRequest([
-                    'search'        => $body['meta']['values'],
+                    'search'        => $quick,
                     'fields'        => $fields,
                     'where'         => [],
                     'data'          => [],
@@ -355,7 +358,7 @@ class SearchController
                 $fields = ['title', 'identifier'];
                 $fields = AutoCompleteController::getInsensitiveFieldsForRequest(['fields' => $fields]);
                 $requestDataAttachment = AutoCompleteController::getDataForRequest([
-                    'search'        => $body['meta']['values'],
+                    'search'        => $quick,
                     'fields'        => $fields,
                     'where'         => [],
                     'data'          => [],
-- 
GitLab