<?php
namespace App\Controller;
use App\Entity\User;
use App\Services\MailerService;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Core\Security;
class HomeController extends AbstractController
{
/**
* @Route("/", name="app_home")
*/
public function index(Security $security): Response
{
$user = $security->getUser();
if($user instanceof User) {
return $this->redirectToRoute('app_dashboard', [], Response::HTTP_SEE_OTHER);
}
return $this->render('home/index.html.twig', [
'controller_name' => 'HomeController',
]);
}
/**
* @Route("/test/send-mail", name="app_test_send_mail")
*/
public function sendMail(
MailerService $mailerServices
): JsonResponse {
try {
$mailerServices->sendMail(
'Email for test',
['tahiana.teko@gmail.com'],
'email/commande.html.twig',
[
'sender' => 'SP Madagascar',
'receiver' => 'SMMEC',
'reference' => 'WH/OUT/20092023',
'date' => (new \DateTime())->format('d-m-Y H:i:s'),
],
[],
[],
);
return new JsonResponse(['success' => true, 'message' => 'Email sent successfully']);
} catch (\Throwable $th) {
$this->addFlash('error', 'Une erreur est survenue lors de l\'envoi de l\'email');
return new JsonResponse(['success' => false, 'message' => 'Failed to send email'], 500);
}
}
}