From b9fee6b96aae850f4929c6e1084b716f98a4d28f Mon Sep 17 00:00:00 2001 From: Bertrand GAUTHIER <bertrand.gauthier@unicaen.fr> Date: Sun, 22 Nov 2020 18:10:30 +0100 Subject: [PATCH] =?UTF-8?q?Aide=20de=20vue=20Messenger=20:=20collecte=20de?= =?UTF-8?q?s=20messages=20dans=20le=20namespace=20tel=20quel=20(fonctionne?= =?UTF-8?q?=20aussi=20si=20le=20namespace=20est=20une=20s=C3=A9v=C3=A9rit?= =?UTF-8?q?=C3=A9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 5 ++++ src/UnicaenApp/View/Helper/Messenger.php | 37 ++++++++++++------------ 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c273c0f9..5d10516b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ CHANGELOG ========= + +3.1.12 +------------------- +- Aide de vue Messenger : collecte des messages dans le namespace tel quel (fonctionne aussi si le namespace est une sévérité) + 3.1.11 (18/06/2020) ------------------- Correction d'un bug au niveau de l'intranavigatuer : le sélecteur no-intranavigation fonctionne maintenant pour les formulaires diff --git a/src/UnicaenApp/View/Helper/Messenger.php b/src/UnicaenApp/View/Helper/Messenger.php index befd5a87..46ece215 100644 --- a/src/UnicaenApp/View/Helper/Messenger.php +++ b/src/UnicaenApp/View/Helper/Messenger.php @@ -181,38 +181,37 @@ class Messenger extends AbstractHelper implements MessageAwareInterface, EventMa } /** - * @param bool $currentMessages - * @param string $namespace Facultatif, ex: 'info', 'these/danger', 'these/*', 'these' (i.e. 'these/*') + * @param bool $currentMessages + * @param string|null $namespace Facultatif, ex: 'info', 'these/danger', 'these/*', 'these' (i.e. 'these/*') * @return static */ - private function _importFromFlashMessages($currentMessages, $namespace = null) + private function _importFromFlashMessages(bool $currentMessages, string $namespace = null) { $getMethod = $currentMessages ? 'getCurrentMessagesFromNamespace' : 'getMessagesFromNamespace'; $fm = $this->getPluginFlashMessenger(); if ($namespace) { - $severities = [self::ERROR, self::SUCCESS, self::INFO, self::WARNING]; - if (in_array($namespace, $severities)) { - foreach ((array)$fm->$getMethod($namespace) as $message) { - $this->addMessage($message, $namespace); + // collecte des messages dans les namespaces de la forme "namespace/sévérité" + $array = $this->extractSeveritiesAndNamespaces($namespace); + foreach ($array as $sev => $ns) { + foreach ($fm->$getMethod($ns) as $message) { + $this->addMessage($message, $sev); } if ($currentMessages) { /* Si on importe alors on nettoie pour éviter un deuxième affichage */ - $fm->clearCurrentMessagesFromNamespace($namespace); - } - } else { - $array = $this->extractSeveritiesAndNamespaces($namespace); - foreach ($array as $sev => $ns) { - foreach ($fm->$getMethod($ns) as $message) { - $this->addMessage($message, $sev); - } - if ($currentMessages) { - /* Si on importe alors on nettoie pour éviter un deuxième affichage */ - $fm->clearCurrentMessagesFromNamespace($ns); - } + $fm->clearCurrentMessagesFromNamespace($ns); } } + + // collecte des messages dans le namespace tel quel (fonctionne aussi si le namespace est une sévérité) + foreach ((array)$fm->$getMethod($namespace) as $message) { + $this->addMessage($message, $namespace); + } + if ($currentMessages) { + /* Si on importe alors on nettoie pour éviter un deuxième affichage */ + $fm->clearCurrentMessagesFromNamespace($namespace); + } } else { foreach ((array)$fm->$getMethod('error') as $message) { -- GitLab