wip: courses

This commit is contained in:
Björn Fromme
2026-03-16 11:59:09 +01:00
parent b54fb07e84
commit 4b92f56ed7
6 changed files with 38 additions and 11 deletions
@@ -4,6 +4,8 @@ declare(strict_types=1);
namespace App\Form\Service;
use App\BusProNet\Constants;
use App\BusProNet\Model\Service;
use App\Form\Model\BookingCreateDto;
use App\Form\Model\BookingDtoInterface;
use App\Form\Service\Abstract\AbstractFieldOptionsProvider;
@@ -84,6 +86,23 @@ class ParticipantFieldOptionsProvider extends AbstractFieldOptionsProvider
: null,
];
// Courses field provider - provides available courses from travel data
$this->fieldOptionProviders['courses'] = fn (BookingDtoInterface $bookingDto) => [
'label' => 'Kurse',
'multiple' => true,
'expanded' => true,
'required' => false,
'choices' => array_reduce(
$bookingDto->travel->getAdditionalServicesByGroup(Constants::TOKEN_COURSES),
function (array $choices, Service $service) {
$choices[$service->label] = $service->id;
return $choices;
},
[]
),
];
// Future field providers would be added here, for example:
//
// $this->fieldOptionProviders['mealPreference'] = fn($bookingDto, $participantIndex) => [