Merge branch 'main' into Marvin

# Conflicts:
#	src/Repository/SortieRepository.php
#	templates/sortie/list.html.twig
This commit is contained in:
mepiphana2023
2024-11-26 15:59:06 +01:00
17 changed files with 326 additions and 159 deletions

View File

@@ -8,6 +8,7 @@ use App\Form\SortieType;
use App\Repository\EtatRepository;
use App\Repository\LieuRepository;
use App\Repository\ParticipantRepository;
use App\Repository\SortieRepository;
use DateTime;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
@@ -19,6 +20,34 @@ use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInt
#[Route('/sortie', name: 'sortie_')]
class SortieController extends AbstractController
{
#[Route('/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', '');
$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('sortie/list.html.twig', [
'profile' => $userConnect,
'sorties' => $sorties,
'sites' => $sortieRepository->findAllSites(),
]);
}
#[Route('/creates', name: 'create', methods: ['GET', 'POST'])]
public function create(
Request $request,
@@ -90,6 +119,10 @@ class SortieController extends AbstractController
$this->addFlash('error', 'Cette sortie n\'existe pas.');
return $this->redirectToRoute('home');
}
if ($sortie->getDateHeureDebut() < (new DateTime())->modify('-1 month')) {
$this->addFlash('error', "Cette sortie à plus de 30 jours.");
return $this->redirectToRoute('home');
}
return $this->render('sortie/view.html.twig', [
'sortie' => $sortie,