Commit 63f8e704df0b37093770eca6b1bf8e3e7f46a2a5
1 parent
fe2c64d9
Exists in
master
and in
1 other branch
Grosse amélioration et rationalisation (généralisation) notifications
(VERSION FINALE) Aussi : - Bugfix action /materiels/mailDevis - Divers bugfixes v4.103.8-3.7.9
Showing
7 changed files
with
219 additions
and
111 deletions
Show diff stats
CHANGES.txt
@@ -110,6 +110,12 @@ TODO : | @@ -110,6 +110,12 @@ TODO : | ||
110 | (sur le modèle de /pages/acls) | 110 | (sur le modèle de /pages/acls) |
111 | 111 | ||
112 | ------- | 112 | ------- |
113 | +25/09/2020 v4.103.8-3.7.9 (EP) | ||
114 | + - (i) Grosse amélioration et rationalisation (généralisation) de la gestion des notifications : log et/ou email (VERSION FINALE) | ||
115 | + - (b) Bugfix action /materiels/mailDevis | ||
116 | + - (b) Divers bugfixes | ||
117 | + | ||
118 | +------- | ||
113 | 25/09/2020 v4.103.7-3.7.9 (EP) | 119 | 25/09/2020 v4.103.7-3.7.9 (EP) |
114 | - (i) Grosse amélioration et rationalisation de la gestion des notifications : log et/ou email (étape 6) | 120 | - (i) Grosse amélioration et rationalisation de la gestion des notifications : log et/ou email (étape 6) |
115 | - (i) Les noms et verbes associés aux actions (pour les notifs) sont désormais aussi configurables, et par labo | 121 | - (i) Les noms et verbes associés aux actions (pour les notifs) sont désormais aussi configurables, et par labo |
README.md
@@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes : | @@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes : | ||
43 | -------------------------------------------------------------------------------------------- | 43 | -------------------------------------------------------------------------------------------- |
44 | 44 | ||
45 | Date: 25/09/2020 | 45 | Date: 25/09/2020 |
46 | -Version: 4.103.7-3.7.9 | 46 | +Version: 4.103.8-3.7.9 |
47 | 47 | ||
48 | 48 | ||
49 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) | 49 | HISTORIQUE DES CHANGEMENTS DE VERSION : voir le fichier CHANGES.txt (ou la page web /pages/changes) |
src/Controller/AppController.php
@@ -2282,7 +2282,7 @@ class AppController extends Controller | @@ -2282,7 +2282,7 @@ class AppController extends Controller | ||
2282 | if ( ! isset($_SESSION['Auth']['User']) ) return true; | 2282 | if ( ! isset($_SESSION['Auth']['User']) ) return true; |
2283 | 2283 | ||
2284 | // pb avec QrCode : pas de $this->e, donc on évite | 2284 | // pb avec QrCode : pas de $this->e, donc on évite |
2285 | - if ($this instanceof QrCodesController) return true; | 2285 | + ////if ($this instanceof QrCodesController) return true; |
2286 | if ( | 2286 | if ( |
2287 | // Pour toutes les actions autres que 'add' ou 'edit' | 2287 | // Pour toutes les actions autres que 'add' ou 'edit' |
2288 | ! in_array($this->a,['add','edit']) | 2288 | ! in_array($this->a,['add','edit']) |
@@ -2307,11 +2307,18 @@ class AppController extends Controller | @@ -2307,11 +2307,18 @@ class AppController extends Controller | ||
2307 | ////$this->getEntity($this->e_id); | 2307 | ////$this->getEntity($this->e_id); |
2308 | //if (!$this->e->getErrors()) | 2308 | //if (!$this->e->getErrors()) |
2309 | //debug($this->getCurrentEntity()); exit; | 2309 | //debug($this->getCurrentEntity()); exit; |
2310 | - if (!$this->getCurrentEntity() || !$this->getCurrentEntity()->getErrors()) | 2310 | + if ( |
2311 | + // Cas de Users avec l'action /users/login par exemple (ou Materiel avec l'action QrCode...) | ||
2312 | + !$this->getCurrentEntity() | ||
2313 | + || | ||
2314 | + // Toutes les autres actions | ||
2315 | + !$this->getCurrentEntity()->getErrors() | ||
2316 | + ) { | ||
2311 | $emails = $this->sendNotificationForEntityAction(); | 2317 | $emails = $this->sendNotificationForEntityAction(); |
2318 | + //debug($emails); | ||
2319 | + } | ||
2312 | } | 2320 | } |
2313 | } | 2321 | } |
2314 | - //debug($emails); | ||
2315 | //exit; | 2322 | //exit; |
2316 | 2323 | ||
2317 | } // afterFilter() | 2324 | } // afterFilter() |
@@ -2620,7 +2627,7 @@ class AppController extends Controller | @@ -2620,7 +2627,7 @@ class AppController extends Controller | ||
2620 | function ilog($msg=null) { | 2627 | function ilog($msg=null) { |
2621 | 2628 | ||
2622 | // true => n'envoie pas de log | 2629 | // true => n'envoie pas de log |
2623 | - $DEBUG = true; | 2630 | + $DEBUG = false; |
2624 | 2631 | ||
2625 | //$controller = $this->request->getParam('controller'); | 2632 | //$controller = $this->request->getParam('controller'); |
2626 | //$action = $this->getActionPassed(); | 2633 | //$action = $this->getActionPassed(); |
@@ -2894,7 +2901,13 @@ class AppController extends Controller | @@ -2894,7 +2901,13 @@ class AppController extends Controller | ||
2894 | // Fonction d'envoi de mails | 2901 | // Fonction d'envoi de mails |
2895 | private function sendEmailTo($subject, $msg, $mail, $config) | 2902 | private function sendEmailTo($subject, $msg, $mail, $config) |
2896 | { | 2903 | { |
2897 | - if ($mail != null && ! $config->test) { | 2904 | + /* |
2905 | + debug($subject); | ||
2906 | + debug($msg); | ||
2907 | + debug($mail); | ||
2908 | + exit; | ||
2909 | + */ | ||
2910 | + if ($mail != null && !$config->test) { | ||
2898 | if (filter_var($mail, FILTER_VALIDATE_EMAIL)) { | 2911 | if (filter_var($mail, FILTER_VALIDATE_EMAIL)) { |
2899 | //debug("icii"); | 2912 | //debug("icii"); |
2900 | $email = new Email(); | 2913 | $email = new Email(); |
@@ -3006,13 +3019,14 @@ class AppController extends Controller | @@ -3006,13 +3019,14 @@ class AppController extends Controller | ||
3006 | // PHP5 : | 3019 | // PHP5 : |
3007 | // @obsolete | 3020 | // @obsolete |
3008 | public function sendmail($entity, $mode=3, $subject = null, $msg = null) { | 3021 | public function sendmail($entity, $mode=3, $subject = null, $msg = null) { |
3009 | - $this->sendNotificationForEntityAction($mode,$subject,$msg); | 3022 | + //$this->sendNotificationForEntityAction($mode,$subject,$msg); |
3023 | + $this->sendNotificationForEntityAction($mode, $entity); | ||
3010 | } | 3024 | } |
3011 | - public function sendNotificationForEntityAction($mode=3, $subject = null, $msg = null) { | 3025 | + public function sendNotificationForEntityAction($mode=3, $given_entity=null, $subject = null, $msg = null) { |
3012 | //return null; | 3026 | //return null; |
3013 | 3027 | ||
3014 | // true => n'envoie pas de notif | 3028 | // true => n'envoie pas de notif |
3015 | - $DEBUG = true; | 3029 | + $DEBUG = false; |
3016 | 3030 | ||
3017 | $control = $this->getName(); | 3031 | $control = $this->getName(); |
3018 | //debug($control); exit; | 3032 | //debug($control); exit; |
@@ -3023,6 +3037,10 @@ class AppController extends Controller | @@ -3023,6 +3037,10 @@ class AppController extends Controller | ||
3023 | $entity = $this->getCurrentEntity(); | 3037 | $entity = $this->getCurrentEntity(); |
3024 | ////if ( !$entity ) return null; | 3038 | ////if ( !$entity ) return null; |
3025 | 3039 | ||
3040 | + // Par exemple, pour les actions documents/mail-devis ou users/login ... | ||
3041 | + if (!$entity && $this->e_id) $entity = $this->getEntity($this->e_id); | ||
3042 | + //debug($entity); exit; | ||
3043 | + | ||
3026 | $entities_name = strtolower($control); // materiels, documents, suivis, emprunts... | 3044 | $entities_name = strtolower($control); // materiels, documents, suivis, emprunts... |
3027 | $entity_name_field = $this->getNameFieldLabel(); | 3045 | $entity_name_field = $this->getNameFieldLabel(); |
3028 | if ($entity) | 3046 | if ($entity) |
@@ -3106,29 +3124,32 @@ class AppController extends Controller | @@ -3106,29 +3124,32 @@ class AppController extends Controller | ||
3106 | $IS_ENTITY_MATERIEL = $entity instanceof Materiel; | 3124 | $IS_ENTITY_MATERIEL = $entity instanceof Materiel; |
3107 | $IS_ENTITY_LINKED_TO_MATERIEL = false; | 3125 | $IS_ENTITY_LINKED_TO_MATERIEL = false; |
3108 | $entity_types_linked_to_materiel = ['Suivi', 'Emprunt', 'Document']; | 3126 | $entity_types_linked_to_materiel = ['Suivi', 'Emprunt', 'Document']; |
3109 | - foreach ($entity_types_linked_to_materiel as $Entity_type_linked) | 3127 | + foreach ($entity_types_linked_to_materiel as $Entity_type_linked) { |
3110 | // Si c'est une entité liée et qu'elle a bien un Materiel associé | 3128 | // Si c'est une entité liée et qu'elle a bien un Materiel associé |
3111 | // (par exemple pour Document, ce n'est pas forcément le cas car il peut être associé à un Suivi et non un Materiel) | 3129 | // (par exemple pour Document, ce n'est pas forcément le cas car il peut être associé à un Suivi et non un Materiel) |
3112 | //if ( ($entity instanceof $Entity_type_linked) && $entity->materiel_id ) { | 3130 | //if ( ($entity instanceof $Entity_type_linked) && $entity->materiel_id ) { |
3113 | //if ( is_a($entity, "App\\Model\\Entity\\".$Entity_type_linked) && $entity->materiel_id ) { | 3131 | //if ( is_a($entity, "App\\Model\\Entity\\".$Entity_type_linked) && $entity->materiel_id ) { |
3114 | if ( is_a($entity, "App\\Model\\Entity\\".$Entity_type_linked) ) { | 3132 | if ( is_a($entity, "App\\Model\\Entity\\".$Entity_type_linked) ) { |
3115 | - if (! $entity->materiel_id) | ||
3116 | - throw new \Exception("L'entité $entity devrait être liée à un matériel via son champ FK materiel_id, or ce champ est null !"); | ||
3117 | - $IS_ENTITY_LINKED_TO_MATERIEL = true; | ||
3118 | - break; | 3133 | + // On vérifie que cette entité est bien liée à un matériel |
3134 | + // car ce n'est pas toujours le cas. | ||
3135 | + // Par exemple, un Document peut être lié à un Suivi (au lieu d'un Materiel) | ||
3136 | + if ($entity->materiel_id) { | ||
3137 | + $IS_ENTITY_LINKED_TO_MATERIEL = true; | ||
3138 | + break; | ||
3139 | + } | ||
3140 | + //else throw new \Exception("L'entité $entity devrait être liée à un matériel via son champ FK materiel_id, or ce champ est null !"); | ||
3119 | } | 3141 | } |
3142 | + } | ||
3120 | $IS_ENTITY_OTHER = !$IS_ENTITY_MATERIEL && !$IS_ENTITY_LINKED_TO_MATERIEL; | 3143 | $IS_ENTITY_OTHER = !$IS_ENTITY_MATERIEL && !$IS_ENTITY_LINKED_TO_MATERIEL; |
3121 | // On définit quelques infos sur le matériel s'il est disponible | 3144 | // On définit quelques infos sur le matériel s'il est disponible |
3122 | $materiel = null; | 3145 | $materiel = null; |
3123 | $contain = ['SurCategories', 'Categories', 'SousCategories']; | 3146 | $contain = ['SurCategories', 'Categories', 'SousCategories']; |
3124 | - if ($IS_ENTITY_MATERIEL) { | 3147 | + if ($IS_ENTITY_MATERIEL) |
3125 | $materiel = $this->getEntity($entity->id, false, $contain); | 3148 | $materiel = $this->getEntity($entity->id, false, $contain); |
3126 | - } | ||
3127 | - else { | 3149 | + elseif ($IS_ENTITY_LINKED_TO_MATERIEL) |
3128 | $materiel = $this->getCurrentEntityRelatedMateriel($entity->materiel_id, $contain); | 3150 | $materiel = $this->getCurrentEntityRelatedMateriel($entity->materiel_id, $contain); |
3129 | - } | ||
3130 | - | ||
3131 | 3151 | ||
3152 | + | ||
3132 | /* | 3153 | /* |
3133 | * 3) LOG | 3154 | * 3) LOG |
3134 | */ | 3155 | */ |
@@ -3138,26 +3159,36 @@ class AppController extends Controller | @@ -3138,26 +3159,36 @@ class AppController extends Controller | ||
3138 | // ex: "Document modifié = 'doc-toto' (id=112)" | 3159 | // ex: "Document modifié = 'doc-toto' (id=112)" |
3139 | // ex: "Utilisateur connecté = 'Pierre Durand' (id=112)" | 3160 | // ex: "Utilisateur connecté = 'Pierre Durand' (id=112)" |
3140 | // ex: "Utilisateur déconnecté = 'Pierre Durand' (id=112)" | 3161 | // ex: "Utilisateur déconnecté = 'Pierre Durand' (id=112)" |
3141 | - | ||
3142 | if ($this->isNotifierActionSendingLog($action)) { | 3162 | if ($this->isNotifierActionSendingLog($action)) { |
3143 | //$msglog = "$entity_type {$action_attrs['past_verb']} = '$entity' (id=$id)"; | 3163 | //$msglog = "$entity_type {$action_attrs['past_verb']} = '$entity' (id=$id)"; |
3144 | //$msglog = "$entity_type {$action_attrs['past_verb']} = '$entity_name' (id=$id)"; | 3164 | //$msglog = "$entity_type {$action_attrs['past_verb']} = '$entity_name' (id=$id)"; |
3145 | - $msglog = "$entity_type {$action_attrs['past_verb']}"; | 3165 | + $msglog = ucfirst($entity_type).' '.$action_attrs['past_verb']; |
3146 | if ($entity) $msglog .= " = '$entity_name' (id=$id)"; | 3166 | if ($entity) $msglog .= " = '$entity_name' (id=$id)"; |
3167 | + // Cas particulier d'un Document : on affiche son type | ||
3168 | + if ($entity instanceof Document) $msglog .= " (type={$entity->type_doc})"; | ||
3147 | // Si c'est une entité liée à un matériel, on ajoute des infos sur le matériel : " - matériel lié 'tititoto' (url)" | 3169 | // Si c'est une entité liée à un matériel, on ajoute des infos sur le matériel : " - matériel lié 'tititoto' (url)" |
3148 | if ($IS_ENTITY_LINKED_TO_MATERIEL) { | 3170 | if ($IS_ENTITY_LINKED_TO_MATERIEL) { |
3149 | //$msglog .= " - matériel lié '{$materiel->designation}' ($host/materiels/view/{$materiel->id})"; | 3171 | //$msglog .= " - matériel lié '{$materiel->designation}' ($host/materiels/view/{$materiel->id})"; |
3150 | - $msglog .= " - matériel lié '{$materiel->designation}' (id={$materiel->id})"; | 3172 | + $msglog .= " - lié au Materiel '{$materiel->designation}' (id={$materiel->id})"; |
3173 | + } | ||
3174 | + // CAS TRES PARTICULIER d'un Document lié à un Suivi (et non pas à un Materiel) | ||
3175 | + if ($IS_ENTITY_OTHER && $entity instanceof Document && $entity->suivi_id) { | ||
3176 | + //$msglog .= " - suivi lié '{$entity->Suivi->nom}' (id={$entity->suivi_id})"; | ||
3177 | + $msglog .= " - lié au Suivi (id={$entity->suivi_id})"; | ||
3151 | } | 3178 | } |
3152 | //debug($msglog); | 3179 | //debug($msglog); |
3153 | //(!$DEBUG) && | 3180 | //(!$DEBUG) && |
3154 | //$this->isNotifierActionSendingLog($action) && $this->ilog("$entity_name $action_verb = '$entity' (id=$id)"); | 3181 | //$this->isNotifierActionSendingLog($action) && $this->ilog("$entity_name $action_verb = '$entity' (id=$id)"); |
3155 | - $this->isNotifierActionSendingLog($action) && $this->ilog($msglog); | 3182 | + $this->ilog($msglog); |
3156 | } | 3183 | } |
3157 | 3184 | ||
3158 | 3185 | ||
3159 | // Si notification email pas demandée, on quitte | 3186 | // Si notification email pas demandée, on quitte |
3160 | - ////if (! $this->isNotifierActionSendingEmail($action)) return null; | 3187 | + if (!$DEBUG) if (! $this->isNotifierActionSendingEmail($action) ) return null; |
3188 | + // Si les deux cases "Activer l'envoi des mails.." sont décochées, on se fatigue pas à exécuter la fonction | ||
3189 | + $configuration = $this->confLabinvent; | ||
3190 | + if (!$configuration->envoi_mail && !$configuration->envoi_mail_guests) return null; | ||
3191 | + | ||
3161 | 3192 | ||
3162 | /* | 3193 | /* |
3163 | * 4) CRÉATION DU MAIL (sujet et body) | 3194 | * 4) CRÉATION DU MAIL (sujet et body) |
@@ -3166,12 +3197,10 @@ class AppController extends Controller | @@ -3166,12 +3197,10 @@ class AppController extends Controller | ||
3166 | * | 3197 | * |
3167 | */ | 3198 | */ |
3168 | 3199 | ||
3169 | - // MESSAGE GÉNÉRIQUE | ||
3170 | - | ||
3171 | // Sujet : | 3200 | // Sujet : |
3172 | 3201 | ||
3173 | $subject = $subject ? $subject : "{$action_attrs['noun']} $article_dun$entity_type"; | 3202 | $subject = $subject ? $subject : "{$action_attrs['noun']} $article_dun$entity_type"; |
3174 | - debug($subject); | 3203 | + $DEBUG && debug($subject); |
3175 | 3204 | ||
3176 | // Message (body) : | 3205 | // Message (body) : |
3177 | 3206 | ||
@@ -3181,6 +3210,8 @@ class AppController extends Controller | @@ -3181,6 +3210,8 @@ class AppController extends Controller | ||
3181 | $msg_mail .= "$user a ".$action_attrs['past_verb']; | 3210 | $msg_mail .= "$user a ".$action_attrs['past_verb']; |
3182 | if ($entity) { | 3211 | if ($entity) { |
3183 | $msg_mail .= " $article_le$entity_type '$entity_name'"; | 3212 | $msg_mail .= " $article_le$entity_type '$entity_name'"; |
3213 | + // Cas particulier d'un Document : on affiche son type | ||
3214 | + if ($entity instanceof Document) $msg_mail .= " (type={$entity->type_doc})"; | ||
3184 | // (EP) Ajout de l'url (ou id) du materiel | 3215 | // (EP) Ajout de l'url (ou id) du materiel |
3185 | //$msg_mail .= $action=='delete' ? " (id=$id)" : " ($host/materiels/view/$id)"; | 3216 | //$msg_mail .= $action=='delete' ? " (id=$id)" : " ($host/materiels/view/$id)"; |
3186 | $msg_mail .= $action=='delete' ? " (id=$id)" : " ($host/$entities_name/view/$id)"; | 3217 | $msg_mail .= $action=='delete' ? " (id=$id)" : " ($host/$entities_name/view/$id)"; |
@@ -3203,6 +3234,11 @@ class AppController extends Controller | @@ -3203,6 +3234,11 @@ class AppController extends Controller | ||
3203 | } | 3234 | } |
3204 | */ | 3235 | */ |
3205 | //if ($entity instanceof Materiel || $ENTITY_TYPE_LINKED) { | 3236 | //if ($entity instanceof Materiel || $ENTITY_TYPE_LINKED) { |
3237 | + // CAS TRES PARTICULIER d'un Document lié à un Suivi (et non pas à un Materiel) | ||
3238 | + if ($IS_ENTITY_OTHER && $entity instanceof Document && $entity->suivi_id) { | ||
3239 | + //$msglog .= " - suivi lié '{$entity->Suivi->nom}' (id={$entity->suivi_id})"; | ||
3240 | + $msg_mail .= " - lié au Suivi (id={$entity->suivi_id})"; | ||
3241 | + } | ||
3206 | if ($IS_ENTITY_MATERIEL || $IS_ENTITY_LINKED_TO_MATERIEL) { | 3242 | if ($IS_ENTITY_MATERIEL || $IS_ENTITY_LINKED_TO_MATERIEL) { |
3207 | $msg_detail = "\n\nAttributs du matériel "; | 3243 | $msg_detail = "\n\nAttributs du matériel "; |
3208 | //$materiel = ($entity instanceof Materiel) ? $entity : $this->getMateriel($entity->materiel_id); | 3244 | //$materiel = ($entity instanceof Materiel) ? $entity : $this->getMateriel($entity->materiel_id); |
@@ -3258,19 +3294,23 @@ class AppController extends Controller | @@ -3258,19 +3294,23 @@ class AppController extends Controller | ||
3258 | } // Entité Materiel ou associée | 3294 | } // Entité Materiel ou associée |
3259 | 3295 | ||
3260 | // - (3) Matos only (sauf delete, dévalidé, TBA et archive) : Veuillez vérifier... | 3296 | // - (3) Matos only (sauf delete, dévalidé, TBA et archive) : Veuillez vérifier... |
3261 | - $actions_no_need_to_be_checked = ['delete', 'statusCreated', 'statusTobearchived', 'statusArchived']; | ||
3262 | - if ( $entity instanceof Materiel && !in_array($action,$actions_no_need_to_be_checked) ) | ||
3263 | - $msg_mail .= "\n\nVeuillez vérifier et compléter si besoin la fiche correspondante."; | 3297 | + $actions_no_need_to_be_checked = ['view', 'index', 'delete', 'statusCreated', 'statusTobearchived', 'statusArchived']; |
3298 | + if ( $IS_ENTITY_MATERIEL && !in_array($action,$actions_no_need_to_be_checked) ) | ||
3299 | + $msg_mail .= "\n\nVeuillez vérifier et compléter si besoin la fiche correspondante."; | ||
3264 | 3300 | ||
3265 | // - (4) TOUS : Vous recevez ce message car... (raison) | 3301 | // - (4) TOUS : Vous recevez ce message car... (raison) |
3266 | if ($entity) { | 3302 | if ($entity) { |
3267 | $msg_mail .= "\n\nVous recevez ce message car"; | 3303 | $msg_mail .= "\n\nVous recevez ce message car"; |
3268 | $raison = " vous êtes concerné(e) par cette action effectuée sur l'inventaire des matériels du laboratoire"; | 3304 | $raison = " vous êtes concerné(e) par cette action effectuée sur l'inventaire des matériels du laboratoire"; |
3269 | - $raison .= "\n\n(vous êtes l'utilisateur du matériel, ou bien le gestionnaire, ou encore le responsable thématique, métier ou projet)"; | ||
3270 | - $raison .= "\n\n(ou alors, vous êtes dans la liste mail spécifique gérée via la page de configuration du logiciel LabInvent)."; | 3305 | + if ($action == 'mailDevis') |
3306 | + $raison .= "\n\n(vous êtes le gestionnaire de référence du matériel)"; | ||
3307 | + else | ||
3308 | + $raison .= "\n\n(vous êtes l'utilisateur du matériel, ou bien le gestionnaire, ou encore le responsable thématique, métier ou projet)"; | ||
3309 | + if ($action != 'mailDevis') | ||
3310 | + $raison .= "\n\n(ou alors, vous êtes dans la liste mail spécifique gérée via la page de configuration du logiciel LabInvent)."; | ||
3271 | $msg_mail .= $raison; | 3311 | $msg_mail .= $raison; |
3272 | } | 3312 | } |
3273 | - debug($msg_mail); | 3313 | + $DEBUG && debug($msg_mail); |
3274 | 3314 | ||
3275 | // Par défaut | 3315 | // Par défaut |
3276 | /* | 3316 | /* |
@@ -3278,11 +3318,12 @@ class AppController extends Controller | @@ -3278,11 +3318,12 @@ class AppController extends Controller | ||
3278 | $msg = "$acteur a effectué l'action \"$action\" sur le matériel \"$nom_materiel\""; | 3318 | $msg = "$acteur a effectué l'action \"$action\" sur le matériel \"$nom_materiel\""; |
3279 | */ | 3319 | */ |
3280 | 3320 | ||
3281 | - exit; | 3321 | + // PLUS BESOIN DE TOUT CE BLABLA TROP SPÉCIFIQUE |
3282 | 3322 | ||
3283 | /* | 3323 | /* |
3324 | + /S | ||
3284 | * - mail pour un MATERIEL | 3325 | * - mail pour un MATERIEL |
3285 | - */ | 3326 | + S/ |
3286 | 3327 | ||
3287 | // if ($entity != null) { | 3328 | // if ($entity != null) { |
3288 | if ($entity instanceof Materiel) { | 3329 | if ($entity instanceof Materiel) { |
@@ -3351,7 +3392,7 @@ class AppController extends Controller | @@ -3351,7 +3392,7 @@ class AppController extends Controller | ||
3351 | $msgMore .= "\n\n$attrs[1] : " . $val; | 3392 | $msgMore .= "\n\n$attrs[1] : " . $val; |
3352 | } | 3393 | } |
3353 | if ($msgMore) $msg .= $msgMore; | 3394 | if ($msgMore) $msg .= $msgMore; |
3354 | - /* | 3395 | + /S |
3355 | //if ($materiel->sur_categorie_id != "") | 3396 | //if ($materiel->sur_categorie_id != "") |
3356 | if ($materiel->sur_categorie_id) { | 3397 | if ($materiel->sur_categorie_id) { |
3357 | $val = $materiel->has('sur_category') ? $materiel->sur_category->nom : $materiel->sur_categorie_id; | 3398 | $val = $materiel->has('sur_category') ? $materiel->sur_category->nom : $materiel->sur_categorie_id; |
@@ -3364,7 +3405,7 @@ class AppController extends Controller | @@ -3364,7 +3405,7 @@ class AppController extends Controller | ||
3364 | //if ($materiel->description != "") | 3405 | //if ($materiel->description != "") |
3365 | if ($materiel->description) | 3406 | if ($materiel->description) |
3366 | $msgMore .= "\n\nDescription :\n" . $materiel->description; | 3407 | $msgMore .= "\n\nDescription :\n" . $materiel->description; |
3367 | - */ | 3408 | + S/ |
3368 | 3409 | ||
3369 | // Dans la liste des mails, on ajoute l'utilisateur (responsable) du matériel | 3410 | // Dans la liste des mails, on ajoute l'utilisateur (responsable) du matériel |
3370 | //$mailList[0] = $materiel->email_responsable; | 3411 | //$mailList[0] = $materiel->email_responsable; |
@@ -3385,9 +3426,9 @@ class AppController extends Controller | @@ -3385,9 +3426,9 @@ class AppController extends Controller | ||
3385 | $entity instanceof Document | 3426 | $entity instanceof Document |
3386 | ) { | 3427 | ) { |
3387 | 3428 | ||
3388 | - /* | 3429 | + /S |
3389 | * - mail pour un DOCUMENT LIÉ | 3430 | * - mail pour un DOCUMENT LIÉ |
3390 | - */ | 3431 | + S/ |
3391 | // @todo: ajouter quelques infos dans ces cas : | 3432 | // @todo: ajouter quelques infos dans ces cas : |
3392 | if ($entity instanceof Document) { | 3433 | if ($entity instanceof Document) { |
3393 | 3434 | ||
@@ -3438,7 +3479,7 @@ class AppController extends Controller | @@ -3438,7 +3479,7 @@ class AppController extends Controller | ||
3438 | } | 3479 | } |
3439 | $msg .= "\n\n (id doc = {$doc->id}, id du $entity_name associé = $id)"; | 3480 | $msg .= "\n\n (id doc = {$doc->id}, id du $entity_name associé = $id)"; |
3440 | $nomFic =$id."_".$nom_doc."_".$id_doc.".".$type_doc; | 3481 | $nomFic =$id."_".$nom_doc."_".$id_doc.".".$type_doc; |
3441 | - /* | 3482 | + /S |
3442 | //if (!$id_mat == Null) { | 3483 | //if (!$id_mat == Null) { |
3443 | if ($id_mat) { | 3484 | if ($id_mat) { |
3444 | $msg .= "\n\n (id doc=".$doc->id.", Materiel associé d'id=\"$id_mat\")"; | 3485 | $msg .= "\n\n (id doc=".$doc->id.", Materiel associé d'id=\"$id_mat\")"; |
@@ -3447,7 +3488,7 @@ class AppController extends Controller | @@ -3447,7 +3488,7 @@ class AppController extends Controller | ||
3447 | $msg .= "\n\n (id doc=".$doc->id.", Suivi associé d'id=\"$id_suiv\")"; | 3488 | $msg .= "\n\n (id doc=".$doc->id.", Suivi associé d'id=\"$id_suiv\")"; |
3448 | $nomFic =$id_suiv."_".$nom_doc."_".$id_doc.".".$type_doc; | 3489 | $nomFic =$id_suiv."_".$nom_doc."_".$id_doc.".".$type_doc; |
3449 | } | 3490 | } |
3450 | - */ | 3491 | + S/ |
3451 | } // sujet null | 3492 | } // sujet null |
3452 | 3493 | ||
3453 | // Si le doc est attaché à un matériel, on recupère ce matériel | 3494 | // Si le doc est attaché à un matériel, on recupère ce matériel |
@@ -3465,45 +3506,41 @@ class AppController extends Controller | @@ -3465,45 +3506,41 @@ class AppController extends Controller | ||
3465 | 3506 | ||
3466 | } // Entités (Entity) liées à un Materiel | 3507 | } // Entités (Entity) liées à un Materiel |
3467 | 3508 | ||
3468 | - /* | 3509 | + /S |
3469 | * @todo: | 3510 | * @todo: |
3470 | * else if ($entity instanceof Configuration) { | 3511 | * else if ($entity instanceof Configuration) { |
3471 | * ; | 3512 | * ; |
3472 | * } | 3513 | * } |
3473 | * ... etc ... (il faut qu'on soit plus précis) | 3514 | * ... etc ... (il faut qu'on soit plus précis) |
3474 | - */ | 3515 | + S/ |
3475 | 3516 | ||
3476 | - | 3517 | + */ |
3477 | 3518 | ||
3478 | /* | 3519 | /* |
3479 | * 4) DESTINATAIRES du mail : on construit la liste des destinataires | 3520 | * 4) DESTINATAIRES du mail : on construit la liste des destinataires |
3480 | */ | 3521 | */ |
3481 | 3522 | ||
3482 | - // Si l'action n'est pas autorisée à envoyer un mai => on quitte | ||
3483 | - if (! $this->isNotifierActionSendingEmail($action) ) return null; | ||
3484 | - | ||
3485 | - // Si les deux cases "Activer l'envoi des mails.." sont décochées, on se fatigue pas à exécuter la fonction | ||
3486 | - $configuration = $this->confLabinvent; | ||
3487 | - if (!$configuration->envoi_mail && !$configuration->envoi_mail_guests) return null; | ||
3488 | - | ||
3489 | // Pas de matériel défini => pas de mail (pas de bras, pas de chocolat) ! | 3523 | // Pas de matériel défini => pas de mail (pas de bras, pas de chocolat) ! |
3490 | - if ($materiel == null) return null; | 3524 | + ////if ($materiel == null) return null; |
3491 | 3525 | ||
3492 | $mailList = []; | 3526 | $mailList = []; |
3493 | 3527 | ||
3494 | /* | 3528 | /* |
3495 | - * 4a) Envoi général | 3529 | + * 4a) Envoi général (uniquement pour les entités liées à un matériel) |
3496 | * | 3530 | * |
3497 | * Si l'envoi général est activé, on ajoute les mails des personnes concernées : | 3531 | * Si l'envoi général est activé, on ajoute les mails des personnes concernées : |
3498 | - * - le proprio (l'utilisateur) du matériel (sauf s'il est l'acteur de l'action) | ||
3499 | - * - le gestionnaire de référence du matos | ||
3500 | - * - les responsables thématiques et métier | 3532 | + * - (1) le proprio (l'utilisateur) du matériel (sauf s'il est l'acteur de l'action) |
3533 | + * - (2) le gestionnaire de référence du matos | ||
3534 | + * - (3) les responsables thématiques et métier | ||
3501 | * - (TODO:) les responsables (scientifique et chef projet) du projet | 3535 | * - (TODO:) les responsables (scientifique et chef projet) du projet |
3502 | */ | 3536 | */ |
3537 | + | ||
3538 | + if (!$IS_ENTITY_OTHER) { | ||
3539 | + | ||
3503 | //if ($configuration->envoi_mail && $action != 'printLabelRuban') { | 3540 | //if ($configuration->envoi_mail && $action != 'printLabelRuban') { |
3504 | if ($configuration->envoi_mail) { | 3541 | if ($configuration->envoi_mail) { |
3505 | 3542 | ||
3506 | - // - Ajout de l'utilisateur du matériel (sauf s'il est l'acteur de l'action) | 3543 | + // - (1) Ajout de l'utilisateur du matériel (sauf s'il est l'acteur de l'action) |
3507 | /* | 3544 | /* |
3508 | debug($acteur); | 3545 | debug($acteur); |
3509 | debug($this->userName); | 3546 | debug($this->userName); |
@@ -3515,7 +3552,11 @@ class AppController extends Controller | @@ -3515,7 +3552,11 @@ class AppController extends Controller | ||
3515 | //if ($this->userName == $materiel->nom_responsable) | 3552 | //if ($this->userName == $materiel->nom_responsable) |
3516 | $mailList[] = $materiel->email_responsable; | 3553 | $mailList[] = $materiel->email_responsable; |
3517 | 3554 | ||
3518 | - // - Ajout du gestionnaire de référence du matos (s'il y en a un) | 3555 | + // - (2) Ajout du Gestionnaire de référence du matos (s'il y en a un) |
3556 | + if ($materiel->gestionnaire_id) { | ||
3557 | + $gestionnaire_ref_email = TableRegistry::getTableLocator()->get('Users')->get($materiel->gestionnaire_id)->email; | ||
3558 | + $mailList[] = $gestionnaire_ref_email; | ||
3559 | + } | ||
3519 | /* | 3560 | /* |
3520 | if ($materiel->gestionnaire_id) | 3561 | if ($materiel->gestionnaire_id) |
3521 | $mailList[] = TableRegistry::getTableLocator()->get('Users') | 3562 | $mailList[] = TableRegistry::getTableLocator()->get('Users') |
@@ -3527,11 +3568,9 @@ class AppController extends Controller | @@ -3527,11 +3568,9 @@ class AppController extends Controller | ||
3527 | ->select('email') | 3568 | ->select('email') |
3528 | //->toArray(); | 3569 | //->toArray(); |
3529 | */ | 3570 | */ |
3530 | - if ($materiel->gestionnaire_id) | ||
3531 | - $mailList[] = TableRegistry::getTableLocator()->get('Users')->get($materiel->gestionnaire_id)->email; | ||
3532 | //debug($mailList); exit; | 3571 | //debug($mailList); exit; |
3533 | 3572 | ||
3534 | - // - Ajout des Responsables de groupe thématique ou métier | 3573 | + // - (3) Ajout des Responsables de groupe thématique ou métier |
3535 | /* | 3574 | /* |
3536 | $mailsRespMetier = []; | 3575 | $mailsRespMetier = []; |
3537 | $mailRespThematique = []; | 3576 | $mailRespThematique = []; |
@@ -3609,6 +3648,9 @@ class AppController extends Controller | @@ -3609,6 +3648,9 @@ class AppController extends Controller | ||
3609 | */ | 3648 | */ |
3610 | } // si envoi général activé | 3649 | } // si envoi général activé |
3611 | 3650 | ||
3651 | + } // uniquement pour entité liée à un matériel | ||
3652 | + | ||
3653 | + | ||
3612 | /* | 3654 | /* |
3613 | * 4b) Envoi à la liste spécifique | 3655 | * 4b) Envoi à la liste spécifique |
3614 | * | 3656 | * |
@@ -3667,7 +3709,7 @@ class AppController extends Controller | @@ -3667,7 +3709,7 @@ class AppController extends Controller | ||
3667 | break; | 3709 | break; |
3668 | } | 3710 | } |
3669 | */ | 3711 | */ |
3670 | - $DEBUG && debug($mailList); | 3712 | + //$DEBUG && debug($mailList); |
3671 | //$DEBUG && exit; | 3713 | //$DEBUG && exit; |
3672 | 3714 | ||
3673 | /* | 3715 | /* |
@@ -3709,13 +3751,17 @@ class AppController extends Controller | @@ -3709,13 +3751,17 @@ class AppController extends Controller | ||
3709 | //$mailList = array_unique($mailList); | 3751 | //$mailList = array_unique($mailList); |
3710 | 3752 | ||
3711 | // ... Pour envoyer les mails aux personnes concernees | 3753 | // ... Pour envoyer les mails aux personnes concernees |
3754 | + // Si action 'mailDevis', on envoie un mail SEULEMENT au gestionnaire de référence du matériel | ||
3755 | + if ($action == 'mailDevis') $mailList = [$gestionnaire_ref_email]; | ||
3712 | //$mailList = ['epallier@irap.omp.eu']; | 3756 | //$mailList = ['epallier@irap.omp.eu']; |
3713 | - $mailList = ['etiennoury@gmail.com']; | ||
3714 | - foreach ($mailList as $mail) { | 3757 | + //$mailList = ['etienne.pallier@irap.omp.eu']; |
3758 | + //$mailList = ['etiennoury@gmail.com']; | ||
3759 | + foreach ($mailList as $email_addr) { | ||
3715 | // On envoi des mails à toute la liste, sauf pour "l'acteur", il sait ce qu'il a fait, pas besoin de le spam non plus hein | 3760 | // On envoi des mails à toute la liste, sauf pour "l'acteur", il sait ce qu'il a fait, pas besoin de le spam non plus hein |
3716 | //if ($mail == $_SESSION['Auth']['User']['mail'][0]) | 3761 | //if ($mail == $_SESSION['Auth']['User']['mail'][0]) |
3717 | //continue; | 3762 | //continue; |
3718 | - $message = $msg; // Sisi, cette variable $message est utile, m'enfin vous pouvez toujours essayer de la supprimer ..... Et pensez à regarder le contenu de vos mails !!! Sinon ca fait une tumeur | 3763 | + //$message = $msg; // Sisi, cette variable $message est utile, m'enfin vous pouvez toujours essayer de la supprimer ..... Et pensez à regarder le contenu de vos mails !!! Sinon ca fait une tumeur |
3764 | + $message = $msg_mail; | ||
3719 | // Génération du message "Vous recevez ce message en tant que $role" | 3765 | // Génération du message "Vous recevez ce message en tant que $role" |
3720 | // Si $role inexistant (lorsque c'est un mail de la liste entrée en configuration), le message est plutot "Vous recevez ce message car vous avez demandé à le recevoir. [...]" | 3766 | // Si $role inexistant (lorsque c'est un mail de la liste entrée en configuration), le message est plutot "Vous recevez ce message car vous avez demandé à le recevoir. [...]" |
3721 | //if ($specificUsers) | 3767 | //if ($specificUsers) |
@@ -3723,8 +3769,10 @@ class AppController extends Controller | @@ -3723,8 +3769,10 @@ class AppController extends Controller | ||
3723 | $role = "car vous etes dans la liste spécifique des emails de LabInvent."; | 3769 | $role = "car vous etes dans la liste spécifique des emails de LabInvent."; |
3724 | $role .= "\n\nPour faire retirer votre mail de cette liste, veuillez contacter un super-administrateur."; | 3770 | $role .= "\n\nPour faire retirer votre mail de cette liste, veuillez contacter un super-administrateur."; |
3725 | */ | 3771 | */ |
3772 | + /* | ||
3726 | $role = "car vous êtes concerné(e) par cette action effectuée sur l'inventaire des matériels du laboratoire"; | 3773 | $role = "car vous êtes concerné(e) par cette action effectuée sur l'inventaire des matériels du laboratoire"; |
3727 | $role .= "\n\n(vous êtes l'utilisateur du matériel, ou bien le gestionnaire, ou encore le responsable thématique, métier ou projet)."; | 3774 | $role .= "\n\n(vous êtes l'utilisateur du matériel, ou bien le gestionnaire, ou encore le responsable thématique, métier ou projet)."; |
3775 | + */ | ||
3728 | /* (EP 13/319) : à quoi sert toute cette suite du texte du mail ??? | 3776 | /* (EP 13/319) : à quoi sert toute cette suite du texte du mail ??? |
3729 | * Ca sent le bon vieux copier-coller sans réfléchir... | 3777 | * Ca sent le bon vieux copier-coller sans réfléchir... |
3730 | //else { | 3778 | //else { |
@@ -3741,41 +3789,44 @@ class AppController extends Controller | @@ -3741,41 +3789,44 @@ class AppController extends Controller | ||
3741 | //} | 3789 | //} |
3742 | */ | 3790 | */ |
3743 | //if ($entity != null && !in_array($action, ['delete','statusValidated','statusCreated'])) { | 3791 | //if ($entity != null && !in_array($action, ['delete','statusValidated','statusCreated'])) { |
3744 | - if ($entity != null) { | ||
3745 | - //if (!in_array($action, ['delete'])) | ||
3746 | - if ( ($entity instanceof Materiel) && $action != 'delete') | ||
3747 | - $message .= "\n\nVeuillez vérifier et compléter si besoin la fiche correspondante."; | ||
3748 | - $message .= "\n\nVous recevez ce message " . $role; | ||
3749 | - //en fonction du mode à l'appel, on utilise un envoi de mail différent | ||
3750 | - | ||
3751 | - $DEBUG && debug($message); | ||
3752 | - //debug($message); exit; | ||
3753 | - //debug($mode); | ||
3754 | - | ||
3755 | - if (! $DEBUG) switch($mode) { | ||
3756 | - | ||
3757 | - //si le mode 1 est sélectionné c'est un envoi de mail avec ajout d'une photo | ||
3758 | - //explique le document qui a été ajouté, et le met en pièce jointe | ||
3759 | - case 1 : | ||
3760 | - $this->sendEmailImgTo("$subject", $message, $mail, $configuration, $nomFic); | ||
3761 | - break; | ||
3762 | - | ||
3763 | - //si le mode 2 est sélectionné c'est un envoi de mail avec ajout d'un document | ||
3764 | - //à personnaliser | ||
3765 | - case 2 : | ||
3766 | - $this->sendEmailPJTo("$subject", $message, $mail, $configuration, $nomFic); | ||
3767 | - break; | ||
3768 | - | ||
3769 | - //si le mode defaut est sélectionné c'est un simple envoi de mail | ||
3770 | - //récapitule une action (mieux pour les add...) | ||
3771 | - default : | ||
3772 | - $this->sendEmailTo("$subject", $message, $mail, $configuration); | ||
3773 | - break; | 3792 | + ////if ($entity != null) { |
3793 | + //if (!in_array($action, ['delete'])) | ||
3794 | + /* | ||
3795 | + if ( ($entity instanceof Materiel) && $action != 'delete') | ||
3796 | + $message .= "\n\nVeuillez vérifier et compléter si besoin la fiche correspondante."; | ||
3797 | + $message .= "\n\nVous recevez ce message " . $role; | ||
3798 | + */ | ||
3799 | + | ||
3800 | + // Si action 'mailDevis', on ajoute le nom du fichier attaché | ||
3801 | + if ($action == 'mailDevis') { | ||
3802 | + // On change le contenu en fonction de si le document a été lié à un matériel ou à un suivi | ||
3803 | + $id_mat = $entity->materiel_id; | ||
3804 | + $id_suiv = $entity->suivi_id; | ||
3805 | + $id = $id_mat ? $id_mat : $id_suiv; | ||
3806 | + //$msg .= "\n\n (id doc = {$doc->id}, id du $entity_name associé = $id)"; | ||
3807 | + $nomFic = $id."_".$entity->nom."_".$entity->id.".".$entity->type_doc; | ||
3808 | + //$subject = "$acteur a partagé un document avec vous"; | ||
3809 | + //$msg = "$acteur après avoir ajouté le document \"$nom_doc\", a voulu le partager avec vous, c'est un document ayant le format \"$type_doc\" ."; | ||
3810 | + //$msg .="\n\n Le document est en pièce jointe."; | ||
3811 | + //si le mode 1 est sélectionné c'est un envoi de mail avec ajout d'une photo (explique le document qui a été ajouté, et le met en pièce jointe) | ||
3812 | + //si le mode 2 est sélectionné c'est un envoi de mail avec ajout d'un doc à personnaliser | ||
3813 | + $fn = $entity->photo ? 'sendEmailImgTo' : 'sendEmailPJTo'; | ||
3814 | + !$DEBUG && $this->$fn("$subject", $message, $email_addr, $configuration, $nomFic); | ||
3815 | + } | ||
3816 | + // Pour toutes les autres actions, mode par defaut (3) => simple envoi de mail | ||
3817 | + else { | ||
3818 | + //debug($subject); | ||
3819 | + //debug($message); | ||
3820 | + !$DEBUG && $this->sendEmailTo("$subject", $message, $email_addr, $configuration); | ||
3821 | + } | ||
3774 | 3822 | ||
3775 | - } // switch | ||
3776 | - } | 3823 | + ////} // entity not null |
3824 | + | ||
3777 | } //foreach ($mailList as $mail) | 3825 | } //foreach ($mailList as $mail) |
3778 | - return $mailList; | 3826 | + $DEBUG && debug($mailList); |
3827 | + $DEBUG && exit; | ||
3828 | + | ||
3829 | + return $mailList; | ||
3779 | 3830 | ||
3780 | } // sendmail() | 3831 | } // sendmail() |
3781 | 3832 |
src/Controller/DocumentsController.php
@@ -54,6 +54,7 @@ class DocumentsController extends AppController | @@ -54,6 +54,7 @@ class DocumentsController extends AppController | ||
54 | 'add' => 'both', | 54 | 'add' => 'both', |
55 | 'edit' => 'log', | 55 | 'edit' => 'log', |
56 | 'delete' => 'both', | 56 | 'delete' => 'both', |
57 | + 'mailDevis' => 'both', | ||
57 | // ... | 58 | // ... |
58 | ]); | 59 | ]); |
59 | /* | 60 | /* |
@@ -1017,7 +1018,7 @@ class DocumentsController extends AppController | @@ -1017,7 +1018,7 @@ class DocumentsController extends AppController | ||
1017 | 1018 | ||
1018 | 1019 | ||
1019 | /** MI | 1020 | /** MI |
1020 | - * Envoi de mail - cette fonction sera appelée si l'on clique sur le bouton envelloppe d'un document sur la page vue d'un matériel | 1021 | + * Envoi de mail - cette fonction sera appelée si l'on clique sur le bouton enveloppe d'un document sur la page vue d'un matériel |
1021 | * Met en place l'envoi de mail | 1022 | * Met en place l'envoi de mail |
1022 | * @param string $id : document id | 1023 | * @param string $id : document id |
1023 | */ | 1024 | */ |
src/Controller/MaterielsController.php
@@ -288,10 +288,10 @@ class MaterielsController extends AppController { | @@ -288,10 +288,10 @@ class MaterielsController extends AppController { | ||
288 | 'statusCreated' => ['Dé-validation','dé-validé'], | 288 | 'statusCreated' => ['Dé-validation','dé-validé'], |
289 | 'statusValidated' => ['Validation','validé'], | 289 | 'statusValidated' => ['Validation','validé'], |
290 | //TODO: spécial | 290 | //TODO: spécial |
291 | - 'statusTobearchived' => ["Demande d'archivage","demandé l'archivage", '', "d'un"], | 291 | + 'statusTobearchived' => ["Demande d'archivage","demandé l'archivage", '', "d'un "], |
292 | 'statusArchived' => ['Archivage','archivé'], | 292 | 'statusArchived' => ['Archivage','archivé'], |
293 | - 'setLabelIsPlaced' => ["Positionnement d'étiquette","posé l'étiquette", 'sur un', 'sur un'], | ||
294 | - 'printLabelRuban' => ["Impression de l'étiquette", "imprimé l'étiquette", '', 'sur un'], | 293 | + 'setLabelIsPlaced' => ["Positionnement d'étiquette","posé l'étiquette", 'sur un ', 'sur le '], |
294 | + 'printLabelRuban' => ["Impression de l'étiquette", "imprimé l'étiquette", '', 'sur le '], | ||
295 | ]); | 295 | ]); |
296 | 296 | ||
297 | 297 | ||
@@ -304,15 +304,24 @@ class MaterielsController extends AppController { | @@ -304,15 +304,24 @@ class MaterielsController extends AppController { | ||
304 | * | 304 | * |
305 | */ | 305 | */ |
306 | $this->setNotificationAllowedOnActions([ | 306 | $this->setNotificationAllowedOnActions([ |
307 | + | ||
308 | + // CRUD | ||
307 | 'add' => 'both', | 309 | 'add' => 'both', |
308 | - 'edit' => 'log', | 310 | + //'edit' => 'log', |
311 | + //'edit' => 'mail', | ||
312 | + 'edit' => 'both', | ||
309 | 'delete' => 'both', | 313 | 'delete' => 'both', |
310 | //'view', | 314 | //'view', |
315 | + | ||
316 | + // status changed | ||
311 | 'statusCreated' => 'log', | 317 | 'statusCreated' => 'log', |
312 | 'statusTobearchived' => 'both', | 318 | 'statusTobearchived' => 'both', |
313 | 'statusValidated' => 'both', | 319 | 'statusValidated' => 'both', |
314 | 'statusArchived' => 'both', | 320 | 'statusArchived' => 'both', |
315 | // ... | 321 | // ... |
322 | + | ||
323 | + // autres | ||
324 | + 'printLabelRuban' => 'log', | ||
316 | 'setLabelIsPlaced' => 'log', | 325 | 'setLabelIsPlaced' => 'log', |
317 | ]); | 326 | ]); |
318 | /* | 327 | /* |
@@ -474,15 +483,54 @@ class MaterielsController extends AppController { | @@ -474,15 +483,54 @@ class MaterielsController extends AppController { | ||
474 | // 2) Puis on fait nos petites règles locales pour notre petit labo à nous tout seul | 483 | // 2) Puis on fait nos petites règles locales pour notre petit labo à nous tout seul |
475 | 484 | ||
476 | /* | 485 | /* |
477 | - // a) Adaptation des règles de notification | ||
478 | - // Actions de ce controleur qui enverront des notifications (emails) | 486 | + * a) Noms et verbes à utiliser (surtout dans les notifications) pour les actions |
487 | + * | ||
488 | + */ | ||
489 | + /* | ||
490 | + $this->setActionsNounAndPastVerb([ | ||
491 | + // Changement des noms et verbes utilisés pour la notif sur l'action 'dévalider' | ||
492 | + 'statusCreated' => ['Dé-VAvalidation','dé-VAvalidé'], | ||
493 | + | ||
494 | + 'statusValidated' => ['Validation','validé'], | ||
495 | + 'statusTobearchived' => ["Demande d'archivage","demandé l'archivage", '', "d'un "], | ||
496 | + 'statusArchived' => ['Archivage','archivé'], | ||
497 | + 'setLabelIsPlaced' => ["Positionnement d'étiquette","posé l'étiquette", 'sur un ', 'sur le '], | ||
498 | + 'printLabelRuban' => ["Impression de l'étiquette", "imprimé l'étiquette", '', 'sur le '], | ||
499 | + ]); | ||
500 | + */ | ||
501 | + | ||
502 | + /* | ||
503 | + * b) Actions de ce controleur qui enverront des notifications (log et/ou email) | ||
504 | + * | ||
505 | + * 'log' = logger seulement | ||
506 | + * 'mail' => envoyer un mail seulement | ||
507 | + * 'both' = faire les 2 (logger ET envoyer un mail) | ||
508 | + * | ||
509 | + */ | ||
510 | + /* | ||
479 | $this->setNotificationAllowedOnActions([ | 511 | $this->setNotificationAllowedOnActions([ |
480 | - 'add', 'edit', 'delete', | ||
481 | - 'statusCreated', 'statusTobearchived', 'statusValidated', 'statusArchived', | 512 | + // CRUD |
513 | + 'add' => 'both', | ||
514 | + 'edit' => 'log', | ||
515 | + 'delete' => 'both', | ||
516 | + //'view', | ||
517 | + // status changed | ||
518 | + 'statusCreated' => 'log', | ||
519 | + 'statusTobearchived' => 'both', | ||
520 | + 'statusValidated' => 'both', | ||
521 | + 'statusArchived' => 'both', | ||
482 | // ... | 522 | // ... |
523 | + // autres | ||
524 | + 'printLabelRuban' => 'log', | ||
525 | + 'setLabelIsPlaced' => 'log', | ||
483 | ]); | 526 | ]); |
527 | + */ | ||
484 | 528 | ||
485 | - // b) Adaptation des règles d'accès (ACLs) | 529 | + /* |
530 | + * c) Règles d'accès (ACLs) | ||
531 | + * | ||
532 | + */ | ||
533 | + /* | ||
486 | // - Adaptation de la règle pour "ajout par copie" | 534 | // - Adaptation de la règle pour "ajout par copie" |
487 | $this->setAuthorizationsForAction('add_by_copy', '', ['CREATED',0], [ | 535 | $this->setAuthorizationsForAction('add_by_copy', '', ['CREATED',0], [ |
488 | 'user' => ['CREATED',1], | 536 | 'user' => ['CREATED',1], |
@@ -501,6 +549,7 @@ class MaterielsController extends AppController { | @@ -501,6 +549,7 @@ class MaterielsController extends AppController { | ||
501 | ]); | 549 | ]); |
502 | */ | 550 | */ |
503 | } | 551 | } |
552 | + | ||
504 | // Méthode de définition des autorisations SPÉCIFIQUES au laboratoire CRAL | 553 | // Méthode de définition des autorisations SPÉCIFIQUES au laboratoire CRAL |
505 | protected function setAuthorizations_CRAL() { | 554 | protected function setAuthorizations_CRAL() { |
506 | $this->d("SPECIFIC CRAL!"); | 555 | $this->d("SPECIFIC CRAL!"); |
@@ -3718,7 +3767,7 @@ class MaterielsController extends AppController { | @@ -3718,7 +3767,7 @@ class MaterielsController extends AppController { | ||
3718 | $this->printLabel('ruban', $id, $from); | 3767 | $this->printLabel('ruban', $id, $from); |
3719 | //(EP202009) | 3768 | //(EP202009) |
3720 | //$this->sendEmail($this->Materiels->get($id)); | 3769 | //$this->sendEmail($this->Materiels->get($id)); |
3721 | - $this->sendmail($this->Materiels->get($id)); | 3770 | + ////$this->sendmail($this->Materiels->get($id)); |
3722 | 3771 | ||
3723 | } | 3772 | } |
3724 | 3773 |
src/Controller/UsersController.php
@@ -82,7 +82,7 @@ class UsersController extends AppController | @@ -82,7 +82,7 @@ class UsersController extends AppController | ||
82 | * | 82 | * |
83 | */ | 83 | */ |
84 | $this->setNotificationAllowedOnActions([ | 84 | $this->setNotificationAllowedOnActions([ |
85 | - //'login' => 'log', | 85 | + 'login' => 'log', |
86 | 86 | ||
87 | // Ne marchera pas car pas d'utilisateur en session | 87 | // Ne marchera pas car pas d'utilisateur en session |
88 | //'logout' => 'log', | 88 | //'logout' => 'log', |
src/Model/Table/AppTable.php
@@ -54,8 +54,9 @@ class AppTable extends Table | @@ -54,8 +54,9 @@ class AppTable extends Table | ||
54 | return $success; | 54 | return $success; |
55 | } | 55 | } |
56 | public function delete(EntityInterface $entity, $options = []) { | 56 | public function delete(EntityInterface $entity, $options = []) { |
57 | + $DEBUG = false; | ||
57 | $this->current_entity = $entity; | 58 | $this->current_entity = $entity; |
58 | - //return parent::delete($entity,$options); | 59 | + if (!$DEBUG) return parent::delete($entity,$options); |
59 | return true; | 60 | return true; |
60 | } | 61 | } |
61 | 62 |