Commit be847764dc823c014ac20be681f38c9cb7fe8010

Authored by Etienne Pallier
1 parent 63f8e704
Exists in master and in 1 other branch dev

Ajout d'une page web affichant les notifications en cours

/pages/Notifications/ qui donne l'état actuel des notifications (quelles
notifs pour quelles actions)
	(sur le modèle de /pages/acls)

v4.103.9-3.7.9
CHANGES.txt
... ... @@ -13,7 +13,7 @@ CHANGEMENTS
13 13  
14 14  
15 15 -------
16   -23/09/2020 NEWS#4 (v4.103.3-3.7.9) :
  16 +25/09/2020 NEWS#4 (v4.103.8-3.7.9) :
17 17  
18 18 - Remaniement complet du système de notification :
19 19 - desormais, on notifie soit par mail, soit par log, soit par les 2 moyens (mail et log)
... ... @@ -23,6 +23,8 @@ CHANGEMENTS
23 23 - la définition des actions "notifiantes" est configurable indépendamment pour chaque labo
24 24 (comme pour les acls, au niveau du code source, pas encore via la BD, ca viendre plus tard...)
25 25  
  26 +- Ajout d'une nouvelle page web affichant les Notifications en cours (/pages/notifications)
  27 +
26 28 - La sélection d'un "gestionnaire de référence" est désormais obligatoire lors de la validation d'une fiche matériel.
27 29 Par défaut, si c'est un gestionnaire qui valide (et c'est normalement le cas...), c'est lui qui est mis comme "gestionnaire de référence"
28 30 (sauf s'il y en avait déjà un de déclaré avant)
... ... @@ -105,7 +107,8 @@ Outre ces changements, voici d'autres changements importants :
105 107  
106 108 ======= CHANGES =======
107 109  
108   -TODO :
  110 +-------
  111 +25/09/2020 v4.103.9-3.7.9 (EP)
109 112 - (e) Ajout d'une page web "/pages/Notifications" qui donne l'état actuel des notifications (quelles notifs pour quelles actions)
110 113 (sur le modèle de /pages/acls)
111 114  
... ...
README.md
... ... @@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes :
43 43 --------------------------------------------------------------------------------------------
44 44  
45 45 Date: 25/09/2020
46   -Version: 4.103.8-3.7.9
  46 +Version: 4.103.9-3.7.9
47 47  
48 48  
49 49 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes)
... ...
src/Controller/AppController.php
... ... @@ -444,6 +444,9 @@ class AppController extends Controller
444 444 * (EP 20200922) NEW NOTIFICATIONS MANAGEMENT
445 445 *
446 446 */
  447 + public function getNotifications() {
  448 + return $this->notifier_actions;
  449 + }
447 450 protected function setNotificationAllowedOnActions(array $actions) {
448 451 $this->notifier_actions = $actions;
449 452 }
... ...
src/Controller/PagesController.php
... ... @@ -89,7 +89,7 @@ class PagesController extends AppController
89 89 if (! empty($path[0])) $page = $path[0];
90 90 */
91 91  
92   - $pages_authorized_without_connexion = ['about', 'acls', 'changes', 'stats'];
  92 + $pages_authorized_without_connexion = ['about', 'acls', 'changes', 'stats', 'notifications'];
93 93 $this->action = $this->getActionPassed();
94 94 if ($this->action == "display") {
95 95 $this->page = $this->request->getParam('pass.0');
... ... @@ -125,6 +125,8 @@ class PagesController extends AppController
125 125 $this->setAuthorizationsForAction('display/changes', 0);
126 126 // - Stats
127 127 $this->setAuthorizationsForAction('display/stats', 0);
  128 + // - Notifications
  129 + $this->setAuthorizationsForAction('display/notifications', 0);
128 130  
129 131 // Action display 'home' (affichage de la page 'Accueil')
130 132 $this->setAuthorizationsForAction('display/home', 0);
... ... @@ -288,8 +290,8 @@ class PagesController extends AppController
288 290 $this->set(compact('level', 'info_levels', 'error_levels'));
289 291 }
290 292  
291   - // - Page des AUTORISATIONS
292   - if ($this->page=='acls') {
  293 + // - Page des AUTORISATIONS et NOTIFICATIONS
  294 + if ($this->page=='acls' || $this->page=='notifications') {
293 295 $lab_name = $this->confLabinvent->labNameShort;
294 296 if (!$lab_name) $lab_name = 'NOM_DU_LABO';
295 297 $this->set(compact('lab_name'));
... ...
src/Template/Pages/tools.ctp
... ... @@ -74,6 +74,13 @@ echo $this->Html->link('Export de la liste des materiels actifs (format CSV)', [
74 74 echo '</td></tr>';
75 75  
76 76 echo '<tr><td>';
  77 +echo $this->Html->link('Voir les Notifications', [
  78 + 'controller' => 'pages',
  79 + 'action' => 'notifications'
  80 +]);
  81 +echo '</td></tr>';
  82 +
  83 +echo '<tr><td>';
77 84 echo $this->Html->link('Voir les Autorisations des profils utilisateurs (ACLs)', [
78 85 'controller' => 'pages',
79 86 'action' => 'acls'
... ...