des trucs

This commit is contained in:
mepiphana2023
2024-11-27 13:16:54 +01:00
parent f607b64239
commit 5a69867774
11 changed files with 447 additions and 125 deletions

View File

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