Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formulaire qui s'exécute dès le chargement de page

Sujet résolu
    20 septembre 2021 à 2:00:19

    yo! :)

    Comme dis dans le titre j'ai mon formulaire qui s'exécute dès le chargement de la page.

    c'est comme si j'avais directement cliqué sur le bouton pour valider les dates

    Ce qui me créé des problème car à chaque fois que je recharge la page:

    1 j'ai pas le temp de lui indiquer des dates,

    2 il me créé une nouvelle ligne à chaque rechargement.

    Il est impératif( et logique) que l'utilisateur entre des dates et ensuite quand il clic ca rentre dans tel ou tel conditions. 

    En me reportant à la doc de symfony, je ne vois pas mon erreur. peut être que vous, oui.

    Voici le code :

    public function homepage(EntityManagerInterface $em, RoomRepository $roomRepository, Request $request): Response
        {    
            //BOOKING
            $booking = new Booking;
            
            $bookingForm = $this->createForm(BookingType::class);
    
            $bookingForm->handleRequest($request);
    
            $start1 = $bookingForm['startDate']->getData();
            $leave1 = $bookingForm['leaveDate']->getData();
            $roomId = 2;
    
            if ($bookingForm->isSubmitted()) {
    
                if ($roomRepository->availableRooms($start1, $leave1, $roomId) === true) {
                    $room = $em->find(Room::class, $roomId);
    
                    $booking
                        ->setStartDate($start1)
                        ->setLeaveDate($leave1)
                        ->setRoom($room);
    
                    if ($booking->getCreatedAt() == !null) {
                        $createdAt = $booking->getCreatedAt();
                        $booking
                            ->setCreatedAt($createdAt)
                            ->setUpdatedAt(new \DateTime('now'));
                    } else {
                        $booking->setCreatedAt(new \DateTime('now'))
                            ->setUpdatedAt(new \DateTime('now'));
                    }
    
                    $em->persist($booking);
    
                    $em->flush();
                } else {
                    throw new Exception("La date demandé n'est pas disponible.", 1);
                }
            }



    Merci à tous

    -
    Edité par Frigalou 20 septembre 2021 à 2:04:55

    • Partager sur Facebook
    • Partager sur Twitter

    Formulaire qui s'exécute dès le chargement de page

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown