51 lines
1.8 KiB
PHP
51 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Controller;
|
|
|
|
use App\Repository\SiteRepository;
|
|
use App\Repository\SortieRepository;
|
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
use Symfony\Component\Routing\Attribute\Route;
|
|
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
|
use Symfony\Component\HttpFoundation\Request;
|
|
|
|
class MainController extends AbstractController
|
|
{
|
|
#[Route('/', name: 'home')]
|
|
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', '');
|
|
$startDate = $request->query->get('start_date', '');
|
|
$endDate = $request->query->get('end_date', '');
|
|
$organisateur = $request->query->get('organisateur', false);
|
|
$inscrit = $request->query->get('inscrit', false);
|
|
$nonInscrit = $request->query->get('non_inscrit', false);
|
|
$passees = $request->query->get('passees', false);
|
|
|
|
$sorties = $sortieRepository->findWithFilters($search, $siteId, $startDate, $endDate, $organisateur, $inscrit, $nonInscrit, $passees, $userConnect);
|
|
|
|
return $this->render('main/index.html.twig', [
|
|
'profile' => $userConnect,
|
|
'sorties' => $sorties,
|
|
'sites' => $sortieRepository->findAllSites(),
|
|
]);
|
|
}
|
|
|
|
|
|
|
|
#[Route('/inscription', name: 'inscription')]
|
|
public function inscription(TokenStorageInterface $tokenStorage): Response
|
|
{
|
|
return $this->render('main/inscription.html.twig');
|
|
}
|
|
}
|