des trucs
This commit is contained in:
@@ -13,8 +13,35 @@ use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
class MainController extends AbstractController
|
||||
{
|
||||
|
||||
#[Route('/', name: 'home')]
|
||||
public function index(
|
||||
public function home(SortieRepository $sortieRepository, TokenStorageInterface $tokenStorage,): Response
|
||||
{
|
||||
// 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
|
||||
|
||||
$pastEvents = $sortieRepository->createQueryBuilder('s')
|
||||
->where('s.dateHeureDebut < :now')
|
||||
->andWhere('s.dateHeureDebut >= :dateLimit')
|
||||
->setParameter('now', new \DateTime())
|
||||
->setParameter('dateLimit', $dateLimit)
|
||||
->orderBy('s.dateHeureDebut', 'DESC')
|
||||
->getQuery()
|
||||
->getResult();
|
||||
|
||||
return $this->render('main/home.html.twig', [
|
||||
'lastSorties' => $latestSorties,
|
||||
'profile' => $userConnect,
|
||||
'pastEvents' => $pastEvents,
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route('/dashboard', name: 'dashboard')]
|
||||
public function dashboard(
|
||||
TokenStorageInterface $tokenStorage,
|
||||
SortieRepository $sortieRepository,
|
||||
Request $request
|
||||
|
||||
@@ -11,16 +11,19 @@ use App\Repository\ParticipantRepository;
|
||||
use App\Repository\SortieRepository;
|
||||
use DateTime;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use OpenAI\Factory;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||
use OpenAI\Client;
|
||||
|
||||
#[Route('/sortie', name: 'sortie_')]
|
||||
class SortieController extends AbstractController
|
||||
{
|
||||
#[Route('/liste', name: 'list', methods: ['GET'])]
|
||||
#[Route('/sortie/liste', name: 'list', methods: ['GET'])]
|
||||
public function index(
|
||||
TokenStorageInterface $tokenStorage,
|
||||
SortieRepository $sortieRepository,
|
||||
@@ -39,6 +42,7 @@ class SortieController extends AbstractController
|
||||
$nonInscrit = $request->query->get('non_inscrit', false);
|
||||
$passees = $request->query->get('passees', false);
|
||||
|
||||
// Recherche par nom de sortie
|
||||
$sorties = $sortieRepository->findWithFilters($search, $siteId, $startDate, $endDate, $organisateur, $inscrit, $nonInscrit, $passees, $userConnect);
|
||||
|
||||
return $this->render('sortie/list.html.twig', [
|
||||
@@ -48,6 +52,7 @@ class SortieController extends AbstractController
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
#[Route('/creates', name: 'create', methods: ['GET', 'POST'])]
|
||||
public function create(
|
||||
Request $request,
|
||||
@@ -83,8 +88,14 @@ class SortieController extends AbstractController
|
||||
return $this->redirectToRoute('sortie_create');
|
||||
}
|
||||
|
||||
// Gérer l'image (upload)
|
||||
$imageFile = $form->get('imageFile')->getData();
|
||||
if ($imageFile) {
|
||||
$sortie->setImageFile($imageFile);
|
||||
}
|
||||
|
||||
// Définir les relations et l'état initial
|
||||
$etat = $etatRepository->findOneBy(['libelle' => 'Ouverte']);
|
||||
$etat = $etatRepository->findOneBy(['libelle' => 'Créée']);
|
||||
if (!$etat) {
|
||||
$this->addFlash('error', 'Erreur interne : état introuvable.');
|
||||
return $this->redirectToRoute('sortie_create');
|
||||
@@ -105,6 +116,7 @@ class SortieController extends AbstractController
|
||||
return $this->render('sortie/create.html.twig', [
|
||||
'profile' => $userConnect,
|
||||
'form' => $form->createView(),
|
||||
'sortie' => $sortie,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -267,4 +279,5 @@ class SortieController extends AbstractController
|
||||
$this->addFlash('success', 'La sortie a été annulée avec succès.');
|
||||
return $this->redirectToRoute('home');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user