src/Controller/HomeController.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\User;
  4. use App\Services\MailerService;
  5. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  6. use Symfony\Component\HttpFoundation\JsonResponse;
  7. use Symfony\Component\HttpFoundation\Response;
  8. use Symfony\Component\Routing\Annotation\Route;
  9. use Symfony\Component\Security\Core\Security;
  10. class HomeController extends AbstractController
  11. {
  12. /**
  13. * @Route("/", name="app_home")
  14. */
  15. public function index(Security $security): Response
  16. {
  17. $user = $security->getUser();
  18. if($user instanceof User) {
  19. return $this->redirectToRoute('app_dashboard', [], Response::HTTP_SEE_OTHER);
  20. }
  21. return $this->render('home/index.html.twig', [
  22. 'controller_name' => 'HomeController',
  23. ]);
  24. }
  25. /**
  26. * @Route("/test/send-mail", name="app_test_send_mail")
  27. */
  28. public function sendMail(
  29. MailerService $mailerServices
  30. ): JsonResponse {
  31. try {
  32. $mailerServices->sendMail(
  33. 'Email for test',
  34. ['tahiana.teko@gmail.com'],
  35. 'email/commande.html.twig',
  36. [
  37. 'sender' => 'SP Madagascar',
  38. 'receiver' => 'SMMEC',
  39. 'reference' => 'WH/OUT/20092023',
  40. 'date' => (new \DateTime())->format('d-m-Y H:i:s'),
  41. ],
  42. [],
  43. [],
  44. );
  45. return new JsonResponse(['success' => true, 'message' => 'Email sent successfully']);
  46. } catch (\Throwable $th) {
  47. $this->addFlash('error', 'Une erreur est survenue lors de l\'envoi de l\'email');
  48. return new JsonResponse(['success' => false, 'message' => 'Failed to send email'], 500);
  49. }
  50. }
  51. }