From 5ce09108fee35704efaf37cb98d3040bb4734697 Mon Sep 17 00:00:00 2001 From: Etienne Pallier Date: Mon, 28 Sep 2020 16:12:54 +0200 Subject: [PATCH] update page web notifications --- CHANGES.txt | 39 ++++++++++++++++++++------------------- LICENSE | 2 +- README.md | 4 ++-- src/Controller/PagesController.php | 1 + src/Template/Pages/notifications.ctp | 46 ++++++++++++++++++++++++++++++---------------- 5 files changed, 54 insertions(+), 38 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 16936c2..f604b3b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -13,25 +13,25 @@ CHANGEMENTS ------- -28/09/2020 NEWS#4 (v4.103.13-3.7.9) : +28/09/2020 NEWS#4 (v4.103.14-3.7.9) : -- Remaniement du système de notification : - - toute action (création, modification, suppression...) faite sur toute entité (Materiel, Document, Suivi, Emprunt, ...) +Remaniement complet du système de notification : + => toute action (création, modification, suppression...) faite sur toute entité (Materiel, Document, Suivi, Emprunt, ...) peut désormais générer une notification (email, log, ou les 2) - - par défaut, seules quelques actions de quelques entités importantes (matériels et documents) envoient des notifications - - on peut notifier soit par mail, soit par log, soit par les 2 moyens (mail et log) - - la liste des actions "notifiantes" est affichée sur une page web (/pages/notifications) - - cette liste est entièrement configurable, et indépendamment pour chaque labo (pour chaque instance du logiciel) - - 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...) - - par défaut, les mails sont envoyés : - - au "propriétaire" (l'utilisateur) du matériel - - au gestionnaire de référence du matériel - - aux responsables thématique et métier du matériel - - et aussi à une liste de mails prédéfinie et configurable via la page web de configuration générale - - (TODO) peut-être plus tard, aux responsables (scientifique et chef projet) du projet auquel le matériel est associé + => par défaut, seules quelques actions de quelques entités importantes (matériels et documents) envoient des notifications + => on peut notifier soit par mail, soit par log, soit par les 2 moyens (mail et log) + => la liste des actions "notifiantes" est affichée sur une page web (/pages/notifications) + => cette liste est entièrement configurable, et indépendamment pour chaque labo (pour chaque instance du logiciel) + => 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...) + - Par défaut, les mails sont envoyés : + => au "propriétaire" (l'utilisateur) du matériel + => au gestionnaire de référence du matériel + => aux responsables thématique et métier du matériel + => et aussi à une liste de mails prédéfinie et configurable via la page web de configuration générale + => (TODO) peut-être plus tard, aux responsables (scientifique et chef projet) du projet auquel le matériel est associé Bien sûr, l'auteur de l'action n'est pas notifié (il est déjà au courant...) -- La sélection d'un "gestionnaire de référence" est désormais obligatoire lors de la validation d'une fiche matériel. +La sélection d'un "gestionnaire de référence" est désormais obligatoire lors de la validation d'une fiche matériel. 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" (sauf s'il y en avait déjà un déclaré avant) @@ -114,12 +114,13 @@ Outre ces changements, voici d'autres changements importants : ======= CHANGES ======= ------- -28/09/2020 v4.103.13-3.7.9 (EP) +28/09/2020 v4.103.14-3.7.9 (EP) - (e) Ajout d'une page web "/pages/Notifications" qui donne l'état actuel des notifications (quelles notifs pour quelles actions) (sur le modèle de /pages/acls) - - (e) Ajout d'explications générales sur la page des notifications et de liens vers la page de log - - (e) Ajout d'une explication de chaque action - - (e) Mise à jour des liens vers la doc technique sur les pages Autorisations et Notifications + => Ajout d'explications générales sur la page des notifications et de liens vers la page de log + => Ajout d'une explication de chaque action + => Mise à jour des liens vers la doc technique sur les pages Autorisations et Notifications + => Ajout de l'état des notifications par email : activé ou désactivé (+ lien vers config) ------- 25/09/2020 v4.103.8-3.7.9 (EP) diff --git a/LICENSE b/LICENSE index 7f78857..c4e1dde 100644 --- a/LICENSE +++ b/LICENSE @@ -2,7 +2,7 @@ LabInvent : Logiciel d'inventaire du matériel d'un laboratoire COPYRIGHT (C) 2012-2021 IRAP (Institut de Recherche en Astrophysique et Planetologie) Toulouse - France -Auteurs : Etienne Pallier , Elodie Bourrec +Auteurs : Etienne Pallier (epallier@irap.omp.eu), Elodie Bourrec (ebourrec@irap.omp.eu) Ce logiciel est sous licence libre copyleft "AGPL" (GNU Affero General Public License) (voir https://www.diatem.net/les-licences-open-source, et https://www.gnu.org/licenses/why-affero-gpl.fr.html, diff --git a/README.md b/README.md index c8238e9..7159944 100644 --- a/README.md +++ b/README.md @@ -42,8 +42,8 @@ Logiciel testé et validé sur les configurations suivantes : -------------------------------------------------------------------------------------------- -Date: 25/09/2020 -Version: 4.103.13-3.7.9 +Date: 28/09/2020 +Version: 4.103.14-3.7.9 HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) diff --git a/src/Controller/PagesController.php b/src/Controller/PagesController.php index aaf15d8..a25d0e3 100755 --- a/src/Controller/PagesController.php +++ b/src/Controller/PagesController.php @@ -295,6 +295,7 @@ class PagesController extends AppController $lab_name = $this->confLabinvent->labNameShort; if (!$lab_name) $lab_name = 'NOM_DU_LABO'; $this->set(compact('lab_name')); + $this->set(compact('configuration')); } diff --git a/src/Template/Pages/notifications.ctp b/src/Template/Pages/notifications.ctp index 2f03374..97801e6 100644 --- a/src/Template/Pages/notifications.ctp +++ b/src/Template/Pages/notifications.ctp @@ -16,11 +16,13 @@ use App\Controller\QrCodesController; */ // Variables passées à la vue par le controleur +$configuration = $configuration; $lab_name = $lab_name; -$log_info_page_link = $this->Html->link("log", ['action' => "logs?level=info"]); -$log_page = '/pages/acls'; + + +$log_info_page_link = $this->Html->link("log", ['action' => "logs?level=info"]); $nice_notifs = [ //'both' => 'log et courriel', 'both' => $log_info_page_link.' et courriel', @@ -154,27 +156,35 @@ th.action { (log et envoi de mail pour certaines actions sur certaines entités) - -

- Les tableaux ci-dessous sont générés dynamiquement en fonction des notifications activées. -

- - -

=> Lien vers le chapitre sur les Notifications dans la documentation technique (TODO)

-
+

+ Html->link("page de configuration générale", ['controller'=>'Configurations', 'action' => "view"]); + echo "Etat actuel des notifications par email (configurable via la $page_config_link):"; + echo "

    "; + $activated1 = $configuration->envoi_mail ? 'ACTIVÉ' : 'DÉSACTIVÉ'; + $activated2 = $configuration->envoi_mail_guests ? 'ACTIVÉ' : 'DÉSACTIVÉ'; + echo "
  • "; + echo "Etat des notifications par email à la liste générale : $activated1 "; + echo "
  • "; + echo "
  • "; + echo "Etat des notifications par email à la liste spécifique : $activated2"; + echo "
  • "; + echo "
"; + ?> +

+
+ +

Par défaut, les notifications par email sont envoyées :

  • @@ -197,12 +207,16 @@ th.action {


    - + Tableaux des notifications par entité -

    +
    +
    +

    + Les tableaux ci-dessous sont générés dynamiquement en fonction des notifications configurées (pour chaque entité) : +

    '; foreach ($controllers as $controller) { -- libgit2 0.21.2