des trucs

This commit is contained in:
mepiphana2023
2024-11-28 10:47:01 +01:00
parent 921e7bfdea
commit 0c6ac2fa20
17 changed files with 174 additions and 48 deletions

View File

@@ -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',

View File

@@ -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,
]);
}

View File

@@ -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(),
]);
}

View 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',
];
}
}