From b3c633dccb3cb21d83f13feb6721c4d29da7cc54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Fri, 18 Jul 2025 16:43:02 +0200 Subject: [PATCH] wip: booking process, refactor participant room assignment logic --- src/Controller/Booking/CreateStep2Controller.php | 5 ++--- src/Form/BookingCreateStep2Type.php | 12 ++++-------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/Controller/Booking/CreateStep2Controller.php b/src/Controller/Booking/CreateStep2Controller.php index f4cd34b..a375bd5 100644 --- a/src/Controller/Booking/CreateStep2Controller.php +++ b/src/Controller/Booking/CreateStep2Controller.php @@ -69,7 +69,8 @@ class CreateStep2Controller extends AbstractController } /** - * Handles HTMX requests for dynamic form updates when room selections change. + * Handles HTMX requests for dynamic form updates when room selections change by submitting the form + * without validation and returning a freshly rendered instance. */ #[Route('/bookings/create/participants/refresh', name: 'app_booking_create_step_2_refresh', methods: ['POST'])] public function refreshParticipantForm(Request $request): Response @@ -84,8 +85,6 @@ class CreateStep2Controller extends AbstractController $form->handleRequest($request); - $this->bookingService->saveBookingCreateDto($request, $bookingCreateDto); - return $this->renderBlock('booking/create_step_2.html.twig', 'participants_form', [ 'form' => $form->createView(), ]); diff --git a/src/Form/BookingCreateStep2Type.php b/src/Form/BookingCreateStep2Type.php index 0e5baed..c3c5d6b 100644 --- a/src/Form/BookingCreateStep2Type.php +++ b/src/Form/BookingCreateStep2Type.php @@ -22,16 +22,12 @@ class BookingCreateStep2Type extends AbstractType public function onPreSetData(FormEvent $event): void { - /** @var BookingCreateDto $bookingCreateDto */ - $bookingCreateDto = $event->getData(); + /** @var BookingCreateDto $data */ + $data = $event->getData(); $form = $event->getForm(); - if (null === $bookingCreateDto) { - return; - } - - $adapter = new ParticipantDataAdapter($bookingCreateDto->participants); - $roomChoices = $this->generateRoomChoices($adapter, $bookingCreateDto->getSelectedRooms()); + $adapter = new ParticipantDataAdapter($data->participants); + $roomChoices = $this->generateRoomChoices($adapter, $data->getSelectedRooms()); $this->addParticipantsField($form, $roomChoices); }