1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| /**
* @Route("/new", name="email_new", methods={"GET","POST"})
*/
public function new(Request $request, \Swift_Mailer $mailer, ClientRepository $clientRepository): Response
{
$email = new Email();
$form = $this->createForm(EmailType::class, $email);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$email->setDateEmission(new \DateTime('now'));
$sujet = $form->get('sujet')->getData();
$priorite = strtoupper($form->get('priorite')->getData());
$emetteur = $form->get('emetteur')->getData();
$destinataireOrigine = $form->get('destinataire')->getData(); // le DO est en fait une collection au format brute
//$ressourceRepository = $this->getDoctrine()->getRepository(Client::class);
$destinataireTab = explode(" ", $destinataireOrigine->first(), 2);
$destinataire = $clientRepository->findOneBy($critaires = array('nom' => $destinataireTab[0],'prenom' => $destinataireTab[1]))->getEmail();
$corps = $form->get('corps')->getData();
if($form->get('EnvoyerFormulaireDuVehicule')->getData())
{
$message = (new \Swift_Message($priorite . ':' . $sujet))
->setFrom($emetteur)
->setTo($destinataire)
->setReplyTo($emetteur)
->setBody($corps .
'<br><br>' .
'Ce mail contient les fiches de suivi du vehicule'.
'<HR>' .
'<br>'.
'<small><i>Ce mail vous est envoyé avec l\'application Web FollowCarService, l\'efficacité au service de la simplicité<br>
Vous souhaitez vous renseigner sur FollowCarService ? => </small>',
'text/html'
)
->setContentType('application/pdf');
// $attachment = \Swift_Attachment::fromPath("../fichesVehiculesPdf/FicheSuiviVehicule_$id.pdf");
$vehicules = $clientRepository->findOneBy($critaires = array('nom' => $destinataireTab[0],'prenom' => $destinataireTab[1]))->getVehicules();
$ficheSuiviVehicule = $this->router->generateUrl(
'fiche_vehicule_sending',
['vehicules' => $vehicules ],
UrlGeneratorInterface::ABSOLUTE_PATH
);
$attachment = \Swift_Attachment::fromPath($ficheSuiviVehicule, 'application/pdf');
$message->attach($attachment);
}
else {
//$pathDebug = getcwd() . "\n";
$message = (new \Swift_Message($priorite . ':' . $sujet))
->setFrom($emetteur)
->setTo($destinataire)
->setReplyTo($emetteur)
->setBody($corps .
'<br><br>' .
'<HR>' .
'<br>'.
'<small><i>Ce mail vous est envoyé avec l\'application Web FollowCarService, l\'efficacité au service de la simplicité<br>
Vous souhaitez vous renseigner sur FollowCarService ? => <b>|</b> </i></small>',
'text/html'
);
}
$mailer->send($message);
$this->addFlash(
'notice',
"Votre message a bien été envoyé à l'adresse : $destinataire"
);
if($form->get('EnvoyerFormulaireDuVehicule')->getData()){
//unlink('FicheSuiviVehicule.pdf');
}
}
return $this->render('email/new.html.twig', [
'email' => $email,
'form' => $form->createView(),
]);
} |
Partager