From 5f2688945aa55a0eb527d4b1b6f07859a17db4eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Fri, 2 May 2025 10:04:25 +0200 Subject: [PATCH] fix: keep booked transportation services even if unavailable --- src/BusProNet/XmlLoader/TravelLoader.php | 1 + src/Form/BookingType.php | 4 ++-- src/Form/ParticipantType.php | 5 +++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/BusProNet/XmlLoader/TravelLoader.php b/src/BusProNet/XmlLoader/TravelLoader.php index 6631f17..3f9e6cd 100644 --- a/src/BusProNet/XmlLoader/TravelLoader.php +++ b/src/BusProNet/XmlLoader/TravelLoader.php @@ -234,6 +234,7 @@ class TravelLoader extends AbstractLoader $service->dateTo = $this->stringToDate($serviceNode->attr('bis')); $service->label = $this->getStringOrNullValue($serviceNode->filterXPath('//text')); $service->direction = $this->getStringOrNullValue($serviceNode->filterXPath('//richtung')); + $service->status = $this->getStringOrNullValue($serviceNode->filterXPath('//status')); $transportationServices[$serviceId] = $service; }); diff --git a/src/Form/BookingType.php b/src/Form/BookingType.php index a36b08a..603117f 100644 --- a/src/Form/BookingType.php +++ b/src/Form/BookingType.php @@ -30,9 +30,9 @@ final class BookingType extends AbstractType 'selectable_board' => $this->mergeSelectableServices($data, Service::TOKEN_BOARD), 'selectable_rentals' => $this->mergeSelectableServices($data, Service::TOKEN_RENTALS), 'selectable_transportation_services_to' => $travelData - ->getTransportationServicesByDirection('HIN'), + ->getTransportationServicesByDirection('HIN', false), 'selectable_transportation_services_fro' => $travelData - ->getTransportationServicesByDirection('RUECK'), + ->getTransportationServicesByDirection('RUECK', false), 'selectable_pickups' => $travelData->pickupsTo, 'personal_data_mutable' => $travelData->participantDataMutable, 'additional_services_mutable' => $travelData->additionalServicesMutable, diff --git a/src/Form/ParticipantType.php b/src/Form/ParticipantType.php index 04cb140..b6f2909 100644 --- a/src/Form/ParticipantType.php +++ b/src/Form/ParticipantType.php @@ -248,6 +248,11 @@ class ParticipantType extends AbstractType $attributes['readonly'] = true; $attributes['tooltip'] = 'Diese Leistung kann nicht mehr geƤndert werden'; } + if (Service::STATUS_BLOCKED === $service->status) { + $attributes['checked'] = false; + $attributes['readonly'] = true; + $attributes['tooltip'] = 'Diese Leistung ist derzeit leider nicht buchbar'; + } return $attributes; };