diff --git a/src/Controller/Booking/Create/Step2Controller.php b/src/Controller/Booking/Create/Step2Controller.php index 5047b36..b31c178 100644 --- a/src/Controller/Booking/Create/Step2Controller.php +++ b/src/Controller/Booking/Create/Step2Controller.php @@ -18,7 +18,6 @@ use App\Service\ParticipantPrepopulationService; use App\Service\RoomAssignmentService; use App\Service\TravelDataService; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; -use Symfony\Component\DependencyInjection\Attribute\Autowire; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; @@ -36,10 +35,6 @@ class Step2Controller extends AbstractController use HxTrait; use ParticipantCardFlowTrait; - /** - * @param array $heightChoices - * @param array $weightChoices - */ public function __construct( private readonly BookingService $bookingService, private readonly BookingSummaryDataService $summaryDataService, @@ -48,43 +43,9 @@ class Step2Controller extends AbstractController private readonly ParticipantCardDataService $participantCardService, private readonly ParticipantFieldOptionsProvider $fieldOptionsProvider, private readonly ParticipantPrepopulationService $prepopulationService, - #[Autowire(param: 'body_dimensions.height_choices')] - private readonly array $heightChoices, - #[Autowire(param: 'body_dimensions.weight_choices')] - private readonly array $weightChoices, - #[Autowire(param: 'body_dimensions.shoe_size_min')] - private readonly int $shoeSizeMin, - #[Autowire(param: 'body_dimensions.shoe_size_max')] - private readonly int $shoeSizeMax, ) { } - /** - * @return array - */ - private function getHeightChoices(): array - { - return $this->heightChoices; - } - - /** - * @return array - */ - private function getWeightChoices(): array - { - return $this->weightChoices; - } - - private function getShoeSizeMin(): int - { - return $this->shoeSizeMin; - } - - private function getShoeSizeMax(): int - { - return $this->shoeSizeMax; - } - /** * Display card grid for all participants. */ diff --git a/src/Controller/Booking/Edit/IndexController.php b/src/Controller/Booking/Edit/IndexController.php index b0ead25..05e9404 100644 --- a/src/Controller/Booking/Edit/IndexController.php +++ b/src/Controller/Booking/Edit/IndexController.php @@ -25,7 +25,6 @@ use App\Service\ParticipantCardDataService; use App\Service\TravelDataService; use Psr\Log\LoggerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; -use Symfony\Component\DependencyInjection\Attribute\Autowire; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; @@ -46,10 +45,6 @@ class IndexController extends AbstractController use HxTrait; use Traits\ParticipantCardFlowTrait; - /** - * @param array $heightChoices - * @param array $weightChoices - */ public function __construct( private readonly ApiClient $apiClient, private readonly BookingEditDataLoaderService $dataLoader, @@ -60,43 +55,9 @@ class IndexController extends AbstractController private readonly ParticipantCardDataService $participantCardService, private readonly Crypt $crypt, private readonly LoggerInterface $logger, - #[Autowire(param: 'body_dimensions.height_choices')] - private readonly array $heightChoices, - #[Autowire(param: 'body_dimensions.weight_choices')] - private readonly array $weightChoices, - #[Autowire(param: 'body_dimensions.shoe_size_min')] - private readonly int $shoeSizeMin, - #[Autowire(param: 'body_dimensions.shoe_size_max')] - private readonly int $shoeSizeMax, ) { } - /** - * @return array - */ - private function getHeightChoices(): array - { - return $this->heightChoices; - } - - /** - * @return array - */ - private function getWeightChoices(): array - { - return $this->weightChoices; - } - - private function getShoeSizeMin(): int - { - return $this->shoeSizeMin; - } - - private function getShoeSizeMax(): int - { - return $this->shoeSizeMax; - } - /** * Display participant cards overview. */ @@ -220,10 +181,10 @@ class IndexController extends AbstractController // Create form for participant with booking context $form = $this->createForm(BookingParticipantType::class, $wrapper, [ 'booking_context' => $bookingDto, - 'height_choices' => $this->heightChoices, - 'weight_choices' => $this->weightChoices, - 'shoe_size_min' => $this->shoeSizeMin, - 'shoe_size_max' => $this->shoeSizeMax, + 'height_choices' => $this->getParameter('body_dimensions.height_choices'), + 'weight_choices' => $this->getParameter('body_dimensions.weight_choices'), + 'shoe_size_min' => $this->getParameter('body_dimensions.shoe_size_min'), + 'shoe_size_max' => $this->getParameter('body_dimensions.shoe_size_max'), ]); $form->handleRequest($request); @@ -307,10 +268,10 @@ class IndexController extends AbstractController $form = $this->createForm(BookingParticipantType::class, $wrapper, [ 'booking_context' => $bookingDto, 'validation_groups' => false, - 'height_choices' => $this->heightChoices, - 'weight_choices' => $this->weightChoices, - 'shoe_size_min' => $this->shoeSizeMin, - 'shoe_size_max' => $this->shoeSizeMax, + 'height_choices' => $this->getParameter('body_dimensions.height_choices'), + 'weight_choices' => $this->getParameter('body_dimensions.weight_choices'), + 'shoe_size_min' => $this->getParameter('body_dimensions.shoe_size_min'), + 'shoe_size_max' => $this->getParameter('body_dimensions.shoe_size_max'), ]); $form->handleRequest($request); diff --git a/src/Controller/Booking/Traits/ParticipantCardFlowTrait.php b/src/Controller/Booking/Traits/ParticipantCardFlowTrait.php index 7d801de..3057cae 100644 --- a/src/Controller/Booking/Traits/ParticipantCardFlowTrait.php +++ b/src/Controller/Booking/Traits/ParticipantCardFlowTrait.php @@ -74,29 +74,15 @@ trait ParticipantCardFlowTrait // Merge default options with provided options and body dimensions $formOptions = array_merge([ 'booking_context' => $bookingDto, - 'height_choices' => $this->getHeightChoices(), - 'weight_choices' => $this->getWeightChoices(), - 'shoe_size_min' => $this->getShoeSizeMin(), - 'shoe_size_max' => $this->getShoeSizeMax(), + 'height_choices' => $this->getParameter('body_dimensions.height_choices'), + 'weight_choices' => $this->getParameter('body_dimensions.weight_choices'), + 'shoe_size_min' => $this->getParameter('body_dimensions.shoe_size_min'), + 'shoe_size_max' => $this->getParameter('body_dimensions.shoe_size_max'), ], $options); return $this->createForm(BookingParticipantType::class, $wrapper, $formOptions); } - /** - * @return array - */ - abstract private function getHeightChoices(): array; - - /** - * @return array - */ - abstract private function getWeightChoices(): array; - - abstract private function getShoeSizeMin(): int; - - abstract private function getShoeSizeMax(): int; - /** * Collects notifications from all participants and clears them from DTOs. *