diff --git a/CHANGELOG.md b/CHANGELOG.md index c273c0f901aed6555588333d8b94e06bfe6e57e9..5d10516b193eac92571f75c414be26295070a254 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 befd5a875326ddef0cf05148fc4e196b36726f37..46ece21566d38dd215725b5ca03a1731822ea301 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) {