<?php
namespace App\Controller;
use App\Entity\Document;
use App\Service\UtilsService;
use App\Service\BandeauService;
use Symfony\Component\Mime\Address;
use App\Repository\DocumentRepository;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bridge\Twig\Mime\TemplatedEmail;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Mailer\Exception\TransportExceptionInterface;
class OutilsController extends AbstractController
{
private $documentRepository;
private $roleAdmin;
private $utilsService;
private $bandeauService;
public function __construct(UtilsService $utilsService, EntityManagerInterface $entityManager, MailerInterface $mailer, BandeauService $bandeauService)
{
$this->documentRepository = $entityManager->getRepository(Document::class);
$this->utilsService = $utilsService;
$this->roleAdmin = $this->utilsService->isAdmin();
$this->bandeauService = $bandeauService;
}
/**
* @Route("/nos-outils", name="app_outils")
*/
public function index(): Response
{
$user = $this->getUser();
// Vérifier si l'utilisateur est authentifié
if (!$user) {
return $this->redirectToRoute('login');
}
// Récupération des données
$documents = $this->documentRepository->findAll();
return $this->render('outils/index.html.twig', [
'controller_name' => 'OutilsController',
'user' => $user,
'documents' => $documents,
'admin' => $this->roleAdmin,
'bandeau' => $this->bandeauService->displayPopup()
]);
}
}