des trucs
This commit is contained in:
@@ -48,12 +48,9 @@ class AdminController extends AbstractController
|
||||
#[Route('/admin/user', name: 'app_adminUser')]
|
||||
public function adminUser(TokenStorageInterface $tokenStorage): Response
|
||||
{
|
||||
$token = $tokenStorage->getToken();
|
||||
$userConnect = $token?->getUser();
|
||||
$participants = $this->participantRepository->findAll();
|
||||
$sites = $this->siteRepository->findAll();
|
||||
return $this->render('admin/user.html.twig', [
|
||||
'profile' => $userConnect,
|
||||
'participants' => $participants,
|
||||
'sites' => $sites,
|
||||
'controller_name' => 'AdminController',
|
||||
|
||||
@@ -19,8 +19,6 @@ class MainController extends AbstractController
|
||||
{
|
||||
// Récupérer les 5 dernières sorties
|
||||
$latestSorties = $sortieRepository->findBy([], ['dateHeureDebut' => 'DESC'], 5);
|
||||
$token = $tokenStorage->getToken();
|
||||
$userConnect = $token?->getUser();
|
||||
$dateLimit = new \DateTime();
|
||||
$dateLimit->modify('-30 days'); // Date limite = il y a 30 jours
|
||||
|
||||
@@ -35,7 +33,6 @@ class MainController extends AbstractController
|
||||
|
||||
return $this->render('main/home.html.twig', [
|
||||
'lastSorties' => $latestSorties,
|
||||
'profile' => $userConnect,
|
||||
'pastEvents' => $pastEvents,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -25,13 +25,9 @@ class SortieController extends AbstractController
|
||||
{
|
||||
#[Route('/sortie/liste', name: 'list', methods: ['GET'])]
|
||||
public function index(
|
||||
TokenStorageInterface $tokenStorage,
|
||||
SortieRepository $sortieRepository,
|
||||
Request $request
|
||||
): Response {
|
||||
$token = $tokenStorage->getToken();
|
||||
$userConnect = $token?->getUser();
|
||||
|
||||
// Récupérer les paramètres de filtre
|
||||
$search = $request->query->get('search', '');
|
||||
$siteId = $request->query->get('site', '');
|
||||
@@ -46,7 +42,6 @@ class SortieController extends AbstractController
|
||||
$sorties = $sortieRepository->findWithFilters($search, $siteId, $startDate, $endDate, $organisateur, $inscrit, $nonInscrit, $passees, $userConnect);
|
||||
|
||||
return $this->render('sortie/list.html.twig', [
|
||||
'profile' => $userConnect,
|
||||
'sorties' => $sorties,
|
||||
'sites' => $sortieRepository->findAllSites(),
|
||||
]);
|
||||
@@ -62,7 +57,6 @@ class SortieController extends AbstractController
|
||||
ParticipantRepository $participantRepository,
|
||||
EtatRepository $etatRepository
|
||||
): Response {
|
||||
// Vérifier si l'utilisateur est connecté
|
||||
$userConnect = $tokenStorage->getToken()?->getUser();
|
||||
if (!$userConnect) {
|
||||
$this->addFlash('error', 'Vous devez être connecté pour créer une sortie.');
|
||||
@@ -114,7 +108,6 @@ class SortieController extends AbstractController
|
||||
}
|
||||
|
||||
return $this->render('sortie/create.html.twig', [
|
||||
'profile' => $userConnect,
|
||||
'form' => $form->createView(),
|
||||
'sortie' => $sortie,
|
||||
]);
|
||||
@@ -124,7 +117,6 @@ class SortieController extends AbstractController
|
||||
public function view(
|
||||
string $id,
|
||||
EntityManagerInterface $entityManager,
|
||||
TokenStorageInterface $tokenStorage
|
||||
): Response {
|
||||
$sortie = $entityManager->getRepository(Sortie::class)->find($id);
|
||||
if (!$sortie) {
|
||||
@@ -146,7 +138,6 @@ class SortieController extends AbstractController
|
||||
|
||||
return $this->render('sortie/view.html.twig', [
|
||||
'sortie' => $sortie,
|
||||
'profile' => $tokenStorage->getToken()?->getUser(),
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
42
src/EventListener/UserProfileListener.php
Normal file
42
src/EventListener/UserProfileListener.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\EventListener;
|
||||
|
||||
use Symfony\Component\HttpKernel\Event\RequestEvent;
|
||||
use Symfony\Component\HttpKernel\KernelEvents;
|
||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||
use Twig\Environment;
|
||||
|
||||
class UserProfileListener implements EventSubscriberInterface
|
||||
{
|
||||
private $tokenStorage;
|
||||
private $twig;
|
||||
|
||||
public function __construct(TokenStorageInterface $tokenStorage, Environment $twig)
|
||||
{
|
||||
$this->tokenStorage = $tokenStorage;
|
||||
$this->twig = $twig;
|
||||
}
|
||||
|
||||
public function onKernelRequest(RequestEvent $event)
|
||||
{
|
||||
$token = $this->tokenStorage->getToken();
|
||||
|
||||
// Vérifie si l'utilisateur est connecté
|
||||
if ($token && $token->getUser()) {
|
||||
$profile = $token->getUser(); // Récupère l'utilisateur connecté
|
||||
$event->getRequest()->attributes->set('profile', $profile);
|
||||
|
||||
// Ajoute 'profile' à toutes les vues Twig
|
||||
$this->twig->addGlobal('profile', $profile);
|
||||
}
|
||||
}
|
||||
|
||||
public static function getSubscribedEvents()
|
||||
{
|
||||
return [
|
||||
KernelEvents::REQUEST => 'onKernelRequest',
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user