feat: make room selection fields read-only for single room type
This commit is contained in:
@@ -84,7 +84,7 @@ class ParticipantFieldOptionsProvider extends AbstractFieldOptionsProvider
|
|||||||
// Room assignment field provider (only available for create workflow)
|
// Room assignment field provider (only available for create workflow)
|
||||||
$this->fieldOptionProviders['assignedRoomId'] = fn (BookingDtoInterface $bookingDto, int $participantIndex, array $options = []) => [
|
$this->fieldOptionProviders['assignedRoomId'] = fn (BookingDtoInterface $bookingDto, int $participantIndex, array $options = []) => [
|
||||||
'label' => 'Zimmer',
|
'label' => 'Zimmer',
|
||||||
'placeholder' => 'Bitte wählen',
|
'placeholder' => 'Nicht zugeordnet',
|
||||||
// Use factory to create context-aware choice loader that:
|
// Use factory to create context-aware choice loader that:
|
||||||
// - Shows only available rooms for this participant
|
// - Shows only available rooms for this participant
|
||||||
// - Excludes rooms already assigned to other participants
|
// - Excludes rooms already assigned to other participants
|
||||||
@@ -96,6 +96,9 @@ class ParticipantFieldOptionsProvider extends AbstractFieldOptionsProvider
|
|||||||
$participantIndex
|
$participantIndex
|
||||||
)
|
)
|
||||||
: null,
|
: null,
|
||||||
|
// Make field read-only when only one room type is selected
|
||||||
|
// Room is auto-assigned, no user choice needed
|
||||||
|
'disabled' => $bookingDto instanceof BookingCreateDto && 1 === count($bookingDto->getSelectedRooms()),
|
||||||
];
|
];
|
||||||
|
|
||||||
// Courses field provider - provides age-appropriate courses from travel data
|
// Courses field provider - provides age-appropriate courses from travel data
|
||||||
|
|||||||
Reference in New Issue
Block a user