Commit 5ce09108fee35704efaf37cb98d3040bb4734697

Authored by Etienne Pallier
1 parent 84a8fb36
Exists in master and in 1 other branch dev

update page web notifications

=> Ajout de l'état des notifications par email : activé ou désactivé (+
lien vers config)

v4.103.14-3.7.9
CHANGES.txt
... ... @@ -13,25 +13,25 @@ CHANGEMENTS
13 13  
14 14  
15 15 -------
16   -28/09/2020 NEWS#4 (v4.103.13-3.7.9) :
  16 +28/09/2020 NEWS#4 (v4.103.14-3.7.9) :
17 17  
18   -- Remaniement du système de notification :
19   - - toute action (création, modification, suppression...) faite sur toute entité (Materiel, Document, Suivi, Emprunt, ...)
  18 +Remaniement complet du système de notification :
  19 + => toute action (création, modification, suppression...) faite sur toute entité (Materiel, Document, Suivi, Emprunt, ...)
20 20 peut désormais générer une notification (email, log, ou les 2)
21   - - par défaut, seules quelques actions de quelques entités importantes (matériels et documents) envoient des notifications
22   - - on peut notifier soit par mail, soit par log, soit par les 2 moyens (mail et log)
23   - - la liste des actions "notifiantes" est affichée sur une page web (/pages/notifications)
24   - - cette liste est entièrement configurable, et indépendamment pour chaque labo (pour chaque instance du logiciel)
25   - - cette configuration se fait via le code source (comme pour les règles d'accès, pas encore via la BD, ca viendra peut-être un jour...)
26   - - par défaut, les mails sont envoyés :
27   - - au "propriétaire" (l'utilisateur) du matériel
28   - - au gestionnaire de référence du matériel
29   - - aux responsables thématique et métier du matériel
30   - - et aussi à une liste de mails prédéfinie et configurable via la page web de configuration générale
31   - - (TODO) peut-être plus tard, aux responsables (scientifique et chef projet) du projet auquel le matériel est associé
  21 + => par défaut, seules quelques actions de quelques entités importantes (matériels et documents) envoient des notifications
  22 + => on peut notifier soit par mail, soit par log, soit par les 2 moyens (mail et log)
  23 + => la liste des actions "notifiantes" est affichée sur une page web (/pages/notifications)
  24 + => cette liste est entièrement configurable, et indépendamment pour chaque labo (pour chaque instance du logiciel)
  25 + => cette configuration se fait via le code source (comme pour les règles d'accès, pas encore via la BD, ca viendra peut=>être un jour...)
  26 + - Par défaut, les mails sont envoyés :
  27 + => au "propriétaire" (l'utilisateur) du matériel
  28 + => au gestionnaire de référence du matériel
  29 + => aux responsables thématique et métier du matériel
  30 + => et aussi à une liste de mails prédéfinie et configurable via la page web de configuration générale
  31 + => (TODO) peut-être plus tard, aux responsables (scientifique et chef projet) du projet auquel le matériel est associé
32 32 Bien sûr, l'auteur de l'action n'est pas notifié (il est déjà au courant...)
33 33  
34   -- La sélection d'un "gestionnaire de référence" est désormais obligatoire lors de la validation d'une fiche matériel.
  34 +La sélection d'un "gestionnaire de référence" est désormais obligatoire lors de la validation d'une fiche matériel.
35 35 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"
36 36 (sauf s'il y en avait déjà un déclaré avant)
37 37  
... ... @@ -114,12 +114,13 @@ Outre ces changements, voici d'autres changements importants :
114 114 ======= CHANGES =======
115 115  
116 116 -------
117   -28/09/2020 v4.103.13-3.7.9 (EP)
  117 +28/09/2020 v4.103.14-3.7.9 (EP)
118 118 - (e) Ajout d'une page web "/pages/Notifications" qui donne l'état actuel des notifications (quelles notifs pour quelles actions)
119 119 (sur le modèle de /pages/acls)
120   - - (e) Ajout d'explications générales sur la page des notifications et de liens vers la page de log
121   - - (e) Ajout d'une explication de chaque action
122   - - (e) Mise à jour des liens vers la doc technique sur les pages Autorisations et Notifications
  120 + => Ajout d'explications générales sur la page des notifications et de liens vers la page de log
  121 + => Ajout d'une explication de chaque action
  122 + => Mise à jour des liens vers la doc technique sur les pages Autorisations et Notifications
  123 + => Ajout de l'état des notifications par email : activé ou désactivé (+ lien vers config)
123 124  
124 125 -------
125 126 25/09/2020 v4.103.8-3.7.9 (EP)
... ...
LICENSE
... ... @@ -2,7 +2,7 @@ LabInvent : Logiciel d'inventaire du matériel d'un laboratoire
2 2  
3 3 COPYRIGHT (C) 2012-2021 IRAP (Institut de Recherche en Astrophysique et Planetologie) Toulouse - France
4 4  
5   -Auteurs : Etienne Pallier <epallier@irap.omp.eu>, Elodie Bourrec <ebourrec@irap.omp.eu>
  5 +Auteurs : Etienne Pallier (epallier@irap.omp.eu), Elodie Bourrec (ebourrec@irap.omp.eu)
6 6  
7 7 Ce logiciel est sous licence libre copyleft "AGPL" (GNU Affero General Public License)
8 8 (voir https://www.diatem.net/les-licences-open-source, et https://www.gnu.org/licenses/why-affero-gpl.fr.html,
... ...
README.md
... ... @@ -42,8 +42,8 @@ Logiciel testé et validé sur les configurations suivantes :
42 42  
43 43 --------------------------------------------------------------------------------------------
44 44  
45   -Date: 25/09/2020
46   -Version: 4.103.13-3.7.9
  45 +Date: 28/09/2020
  46 +Version: 4.103.14-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/PagesController.php
... ... @@ -295,6 +295,7 @@ class PagesController extends AppController
295 295 $lab_name = $this->confLabinvent->labNameShort;
296 296 if (!$lab_name) $lab_name = 'NOM_DU_LABO';
297 297 $this->set(compact('lab_name'));
  298 + $this->set(compact('configuration'));
298 299 }
299 300  
300 301  
... ...
src/Template/Pages/notifications.ctp
... ... @@ -16,11 +16,13 @@ use App\Controller\QrCodesController;
16 16 */
17 17  
18 18 // Variables passées à la vue par le controleur
  19 +$configuration = $configuration;
19 20 $lab_name = $lab_name;
20 21  
21   -$log_info_page_link = $this->Html->link("log", ['action' => "logs?level=info"]);
22 22  
23   -$log_page = '/pages/acls';
  23 +
  24 +
  25 +$log_info_page_link = $this->Html->link("log", ['action' => "logs?level=info"]);
24 26 $nice_notifs = [
25 27 //'both' => 'log et courriel',
26 28 'both' => $log_info_page_link.' et courriel',
... ... @@ -154,27 +156,35 @@ th.action {
154 156 (log et envoi de mail pour certaines actions sur certaines entités)
155 157 </center>
156 158 </h2>
157   -
158   - <p>
159   - Les tableaux ci-dessous sont générés dynamiquement en fonction des notifications activées.
160   - </p>
161 159  
162   - <!--
163   - <br />
164   - <br />
165   - <h3>AUTORISATIONS DES UTILISATEURS (PROFILS)</h3>
166   - -->
167   -
168   - <br />
169 160 <p>
170 161 <!-- Lien GDOC -->
171 162 => <a href="https://docs.google.com/document/d/1-OhEeoi96j6ueUl5NQCQ9ZsTfbJTFw3ZVaWU2iYly_o/edit?pli=1#heading=h.ioktqtn9azyc">
172 163 Lien vers le chapitre sur les Notifications dans la documentation technique (TODO)
173 164 </a>
174 165 </p>
175   - <hr />
  166 + <hr/>
176 167  
177 168 <p>
  169 + <?php
  170 + //http://labinvent.devv/configurations/view
  171 + $page_config_link = $this->Html->link("page de configuration générale", ['controller'=>'Configurations', 'action' => "view"]);
  172 + echo "<u><b>Etat actuel des notifications par email (configurable via la $page_config_link):</b></u>";
  173 + echo "<ul>";
  174 + $activated1 = $configuration->envoi_mail ? 'ACTIVÉ' : 'DÉSACTIVÉ';
  175 + $activated2 = $configuration->envoi_mail_guests ? 'ACTIVÉ' : 'DÉSACTIVÉ';
  176 + echo "<li>";
  177 + echo "Etat des notifications par email à la liste générale : $activated1 ";
  178 + echo "</li>";
  179 + echo "<li>";
  180 + echo "Etat des notifications par email à la liste spécifique : $activated2";
  181 + echo "</li>";
  182 + echo "</ul>";
  183 + ?>
  184 + </p>
  185 + <hr />
  186 +
  187 + <p>
178 188 <b><u>Par défaut, les notifications par email sont envoyées :</u></b>
179 189 <ul>
180 190 <li>
... ... @@ -197,12 +207,16 @@ th.action {
197 207 </p>
198 208 <hr />
199 209  
200   -
  210 +
201 211  
202 212  
203 213  
204 214 <u><b>Tableaux des notifications par entité</b></u>
205   - <br><br>
  215 + <br>
  216 + <br>
  217 + <p>
  218 + Les tableaux ci-dessous sont générés dynamiquement en fonction des notifications configurées (pour chaque entité) :
  219 + </p>
206 220 <?php
207 221 echo '<u>';
208 222 foreach ($controllers as $controller) {
... ...