Commit f2dc261b94574ff59740f9b8c65695b58eface29
1 parent
eb5fb49c
Exists in
master
and in
3 other branches
Partie II - Mail Devis
Ajout de la fonction d'envoi de mail d'un document, cette fonction sera rattachée à un bouton. Cette fonction récupère l'instance de document liée à l'id en paramètre, vérifie si c'est une photo ou un doc, utilise un envoi de mail correspondant, puis affiche un message flash pour dire si cela a fonctionné ou pas.
Showing
1 changed file
with
41 additions
and
0 deletions
Show diff stats
src/Controller/DocumentsController.php
... | ... | @@ -634,4 +634,45 @@ class DocumentsController extends AppController |
634 | 634 | $this->set(compact('suivi', 'unite', 'fiche', 'symbole', 'mesures')); |
635 | 635 | $this->set('fpdf', new FPDF('P', 'mm', 'A4')); |
636 | 636 | } |
637 | + | |
638 | + /* | |
639 | + * 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 | |
640 | + * Met en place l'envoi de mail | |
641 | + */ | |
642 | + public function mailDevis($id) | |
643 | + { | |
644 | + //on récupère le document | |
645 | + $document = $this->Documents->get($id, [ | |
646 | + 'contain' => [] | |
647 | + ]); | |
648 | + | |
649 | + if ($this->request->is([ | |
650 | + 'patch', | |
651 | + 'post', | |
652 | + 'put' | |
653 | + ])) { | |
654 | + $document = $this->Documents->patchEntity($document, $this->request->data); | |
655 | + } | |
656 | + //Si le document existe, on vérifie si c'est une photo ou autre chose | |
657 | + if(!empty($document)){ | |
658 | + //Si c'est une photo on l'envoi avec le mode d'envoi de mail adapté,.. | |
659 | + //pareil pour les autres docs | |
660 | + if($document->photo){ | |
661 | + $this->sendmail($document,1); | |
662 | + $this->Flash->success(__('Le mail avec la photo en pièce jointe a bien été envoyé.')); | |
663 | + | |
664 | + } else { | |
665 | + $this->sendmail($document,2); | |
666 | + $this->Flash->success(__('Le mail avec le document a bien été envoyé.')); | |
667 | + } | |
668 | + } else { | |
669 | + $this->Flash->error(__('Le mail n\'a pas pu être envoyé.')); | |
670 | + } | |
671 | + //puis on retourne sur la page vue du matériel | |
672 | + return $this->redirect([ | |
673 | + 'controller' => 'materiels', | |
674 | + 'action' => 'view', | |
675 | + $document->materiel_id | |
676 | + ]); | |
677 | + } | |
637 | 678 | } | ... | ... |