Commit f2dc261b94574ff59740f9b8c65695b58eface29

Authored by Malik Imelhaine
1 parent eb5fb49c

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 }
... ...