Commit 0154a32b69618ee022d43087846cf7911bc4f935
1 parent
1628a1bf
Exists in
master
and in
1 other branch
Bugfixed envoi mail sur validation
et supprimé ancienne fonction sendEmail() (remplacée par sendmail()) v4.101.11-3.7.9
Showing
4 changed files
with
52 additions
and
23 deletions
Show diff stats
CHANGES.txt
... | ... | @@ -94,10 +94,11 @@ Outre ces changements, voici d'autres changements importants : |
94 | 94 | ======= CHANGES ======= |
95 | 95 | |
96 | 96 | ------- |
97 | -16/09/2020 v4.101.10-3.7.9 (EP) | |
97 | +16/09/2020 v4.101.11-3.7.9 (EP) | |
98 | 98 | - (i) Fixtures de tests simplifiées avec utilisation par défaut du format des champs de la BD de production (inutile de s'embêter à tout redéfinir et à tenir à jour !!!) |
99 | 99 | - (i) Corrigé petit bug sur site_id qui valait 2 par défaut (au lieu de null) |
100 | 100 | - (e) Changé format date cache : + nb jours |
101 | + - (b) Bugfixed envoi mail sur validation, et supprimé ancienne fonction sendEmail() (remplacée par sendmail()) | |
101 | 102 | - (b) Bugfixed tests => tous ok |
102 | 103 | - (b) Bugfixed recherche générale : on peut maintenant chercher aussi un projet |
103 | 104 | - (b) Bugfixed et réactivé test date reception > date achat "mais pas trop" (bug sur php5) | ... | ... |
README.md
... | ... | @@ -43,7 +43,7 @@ Logiciel testé et validé sur les configurations suivantes : |
43 | 43 | -------------------------------------------------------------------------------------------- |
44 | 44 | |
45 | 45 | Date: 15/09/2020 |
46 | -Version: 4.101.10-3.7.9 | |
46 | +Version: 4.101.11-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
... | ... | @@ -2388,6 +2388,8 @@ class AppController extends Controller |
2388 | 2388 | } |
2389 | 2389 | } |
2390 | 2390 | |
2391 | + | |
2392 | + | |
2391 | 2393 | /** |
2392 | 2394 | * Envoi un mail avec un sujet, contenant un message à destination d'une liste de mails, selon l'action effectuée. |
2393 | 2395 | * |
... | ... | @@ -2398,16 +2400,17 @@ class AppController extends Controller |
2398 | 2400 | * @param $msg : |
2399 | 2401 | * Message à envoyer. Si $msg n'est pas renseigné, un message par défaut sera généré. |
2400 | 2402 | */ |
2403 | + /* (EP202009) remplacé par sendmail() plus bas | |
2401 | 2404 | public function sendEmail($entity, $subject=null, $msg=null) |
2402 | 2405 | { |
2403 | - /* | |
2406 | + /S | |
2404 | 2407 | * $_SESSION['Auth']['User'] pour retrouver TOUTES les infos de la session courante (tout est du string) : |
2405 | 2408 | * nom $_SESSION['Auth']['User']['sn'][0] |
2406 | 2409 | * prenom $_SESSION['Auth']['User']['givenname'][0] |
2407 | 2410 | * mail $_SESSION['Auth']['User']['mail'][0] |
2408 | 2411 | * login $_SESSION['Auth']['User']['xxx'][0] /!\ Ce champ est suceptible de changer de nom, dans les tests ce champ est ['cn'][0] |
2409 | 2412 | * mdp $_SESSION['Auth']['User']['userpassword'][0] |
2410 | - */ | |
2413 | + S/ | |
2411 | 2414 | $configuration = $this->confLabinvent; |
2412 | 2415 | $action = $this->request->getAttribute('params')['action']; // add or edit or delete or ... |
2413 | 2416 | |
... | ... | @@ -2526,7 +2529,7 @@ class AppController extends Controller |
2526 | 2529 | // Cela a été mis en commentaire car de toute façon l'utilisateur va voir un administratif pour faire valider sa fiche, |
2527 | 2530 | // Pas la peine de spam l'administration de mails non plus hein ! |
2528 | 2531 | |
2529 | - /* | |
2532 | + /S | |
2530 | 2533 | * if ($action != 'statusValidated' && $action != 'statusArchived') { |
2531 | 2534 | * $mailsAdmin = TableRegistry::getTableLocator()->get('Users')->find()->select('email') |
2532 | 2535 | * ->where(['role =' => 'Administration']) |
... | ... | @@ -2535,7 +2538,7 @@ class AppController extends Controller |
2535 | 2538 | * $mailList[sizeof($mailList)] = $mailsAdmin[$i]['email']; |
2536 | 2539 | * } |
2537 | 2540 | * } |
2538 | - */ | |
2541 | + S/ | |
2539 | 2542 | } |
2540 | 2543 | } // Materiel |
2541 | 2544 | |
... | ... | @@ -2547,13 +2550,13 @@ class AppController extends Controller |
2547 | 2550 | } else if ($entity instanceof Emprunt) { |
2548 | 2551 | ; |
2549 | 2552 | } |
2550 | - /* | |
2553 | + /S | |
2551 | 2554 | * @todo: |
2552 | 2555 | * else if ($entity instanceof Configuration) { |
2553 | 2556 | * ; |
2554 | 2557 | * } |
2555 | 2558 | * ... etc ... (il faut qu'on soit plus précis) |
2556 | - */ | |
2559 | + S/ | |
2557 | 2560 | |
2558 | 2561 | // Si l'envoi à la liste spécifiée est activé (et que l'action ne correspond pas à 'printLabelRuban'): |
2559 | 2562 | $specificUsers = []; |
... | ... | @@ -2605,7 +2608,11 @@ class AppController extends Controller |
2605 | 2608 | } |
2606 | 2609 | return $mailList; |
2607 | 2610 | } |
2611 | + */ | |
2608 | 2612 | |
2613 | + | |
2614 | + | |
2615 | + | |
2609 | 2616 | // Fonction d'envoi de mails |
2610 | 2617 | private function sendEmailTo($subject, $msg, $mail, $config) |
2611 | 2618 | { |
... | ... | @@ -2696,7 +2703,7 @@ class AppController extends Controller |
2696 | 2703 | * @param $msg : |
2697 | 2704 | * Message à envoyer. Si $msg n'est pas renseigné, un message par défaut sera généré. |
2698 | 2705 | */ |
2699 | - public function sendmail($entity, $mode, $subject = null, $msg = null) | |
2706 | + public function sendmail($entity, $mode=3, $subject = null, $msg = null) | |
2700 | 2707 | { |
2701 | 2708 | |
2702 | 2709 | //$this->myDebug("photo send mail"); |
... | ... | @@ -3003,26 +3010,32 @@ class AppController extends Controller |
3003 | 3010 | $role =$role .'en tant que ' .'Utilisateur'; |
3004 | 3011 | //} |
3005 | 3012 | */ |
3006 | - if ($entity != null && !in_array($action, ['delete','statusValidated','statusCreated'])) { | |
3007 | - $message .= "\n\nVeuillez vérifier et compléter si besoin la fiche correspondante."; | |
3008 | - $message .= "\n\nVous recevez ce message " . $role; | |
3013 | + //if ($entity != null && !in_array($action, ['delete','statusValidated','statusCreated'])) { | |
3014 | + if ($entity != null) { | |
3015 | + if (!in_array($action, ['delete'])) | |
3016 | + $message .= "\n\nVeuillez vérifier et compléter si besoin la fiche correspondante."; | |
3017 | + $message .= "\n\nVous recevez ce message " . $role; | |
3009 | 3018 | //en fonction du mode à l'appel, on utilise un envoi de mail différent |
3010 | 3019 | switch($mode) { |
3011 | - //si le mode 1 est sélectionné c'est un envoi de mail avec ajout d'une photo | |
3012 | - //explique le document qui a été ajouté, et le met en pièce jointe | |
3020 | + | |
3021 | + //si le mode 1 est sélectionné c'est un envoi de mail avec ajout d'une photo | |
3022 | + //explique le document qui a été ajouté, et le met en pièce jointe | |
3013 | 3023 | case 1 : |
3014 | 3024 | $this->sendEmailImgTo("$subject", $message, $mail, $configuration, $nomFic); |
3015 | 3025 | break; |
3016 | - //si le mode 2 est sélectionné c'est un envoi de mail avec ajout d'un document | |
3017 | - //à personnaliser | |
3026 | + | |
3027 | + //si le mode 2 est sélectionné c'est un envoi de mail avec ajout d'un document | |
3028 | + //à personnaliser | |
3018 | 3029 | case 2 : |
3019 | 3030 | $this->sendEmailPJTo("$subject", $message, $mail, $configuration, $nomFic); |
3020 | 3031 | break; |
3021 | - //si le mode defaut est sélectionné c'est un simple envoi de mail | |
3022 | - //récapitule une action (mieux pour les add...) | |
3032 | + | |
3033 | + //si le mode defaut est sélectionné c'est un simple envoi de mail | |
3034 | + //récapitule une action (mieux pour les add...) | |
3023 | 3035 | default : |
3024 | 3036 | $this->sendEmailTo("$subject", $message, $mail, $configuration); |
3025 | 3037 | break; |
3038 | + | |
3026 | 3039 | } // switch |
3027 | 3040 | } |
3028 | 3041 | } //foreach ($mailList as $mail) | ... | ... |
src/Controller/MaterielsController.php
... | ... | @@ -1670,7 +1670,9 @@ class MaterielsController extends AppController { |
1670 | 1670 | */ |
1671 | 1671 | $this->Flash->success(__("Le matériel a bien été $verb")); |
1672 | 1672 | if ($IS_ADD) { |
1673 | - $this->sendEmail($materiel); | |
1673 | + //(EP202009) | |
1674 | + //$this->sendEmail($materiel); | |
1675 | + $this->sendmail($materiel); | |
1674 | 1676 | $id = $materiel->id; |
1675 | 1677 | } |
1676 | 1678 | //$this->dlog("Materiel $verb = '$materiel->designation' (id=$id)"); |
... | ... | @@ -2162,7 +2164,10 @@ class MaterielsController extends AppController { |
2162 | 2164 | if ($this->Materiels->delete($materiel)) { |
2163 | 2165 | $this->Flash->success(__('Le matériel a bien été supprimé')); |
2164 | 2166 | $this->ilog("Materiel $verb = '$materiel' (id=$id)"); |
2165 | - $this->sendEmail($materiel); | |
2167 | + //(EP202009) | |
2168 | + //$this->sendEmail($materiel); | |
2169 | + $this->sendmail($materiel); | |
2170 | + | |
2166 | 2171 | } else |
2167 | 2172 | $this->Flash->error(__('Le matériel n\'a pas pu être supprimé')); |
2168 | 2173 | return $this->redirect([ |
... | ... | @@ -2287,6 +2292,7 @@ class MaterielsController extends AppController { |
2287 | 2292 | |
2288 | 2293 | } // VALIDATED |
2289 | 2294 | |
2295 | + | |
2290 | 2296 | // SAVE |
2291 | 2297 | $success = False; |
2292 | 2298 | // - SAVE KO |
... | ... | @@ -2304,7 +2310,11 @@ class MaterielsController extends AppController { |
2304 | 2310 | //évite le double envoi car il y a un envoi de mail a la fonction add et à l'état created |
2305 | 2311 | //évite les envois succcessifs si qqn fait une erreur sur la fiche, valide la fiche, et dévalide pour remodifier |
2306 | 2312 | //if ($newStatus == 'ARCHIVED' || $newStatus == 'TOBEARCHIVED') { |
2307 | - if (in_array($newStatus,['ARCHIVED','TOBEARCHIVED','VALIDATED'])) $this->sendmail($materiel,3); | |
2313 | + if (in_array($newStatus, [ | |
2314 | + //'CREATED', // Pour Création ET Dé-validation | |
2315 | + 'ARCHIVED','TOBEARCHIVED','VALIDATED']) | |
2316 | + ) | |
2317 | + $this->sendmail($materiel,3); | |
2308 | 2318 | } // SAVE OK |
2309 | 2319 | |
2310 | 2320 | if (! $onlyOneMateriel) |
... | ... | @@ -3500,7 +3510,9 @@ class MaterielsController extends AppController { |
3500 | 3510 | // Envoi email seulement si etiquette posée |
3501 | 3511 | if ($printed) { |
3502 | 3512 | // $this->sendEmailToManagement($id); |
3503 | - $this->sendEmail($materiel); | |
3513 | + //(EP202009) | |
3514 | + //$this->sendEmail($materiel); | |
3515 | + $this->sendmail($materiel); | |
3504 | 3516 | } |
3505 | 3517 | } else { |
3506 | 3518 | //debug("save KO"); |
... | ... | @@ -3545,7 +3557,10 @@ class MaterielsController extends AppController { |
3545 | 3557 | //$this->OLD_printLabel('ruban', $id, $from); |
3546 | 3558 | // (EP 202006) NEW METHODE => nécessite le template Materiels/xml/print_label_ruban.ctp |
3547 | 3559 | $this->printLabel('ruban', $id, $from); |
3548 | - $this->sendEmail($this->Materiels->get($id)); | |
3560 | + //(EP202009) | |
3561 | + //$this->sendEmail($this->Materiels->get($id)); | |
3562 | + $this->sendmail($this->Materiels->get($id)); | |
3563 | + | |
3549 | 3564 | } |
3550 | 3565 | |
3551 | 3566 | /** | ... | ... |