From b88be16550f8f7cc27219ebe9fd7e87327276575 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Thu, 13 Mar 2025 17:23:52 +0100 Subject: [PATCH] fix: don't rely on communication properties being present --- src/BusProNet/DataProcessor/BookingDataProcessor.php | 11 +++++++++-- src/Form/Model/ParticipantData.php | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/BusProNet/DataProcessor/BookingDataProcessor.php b/src/BusProNet/DataProcessor/BookingDataProcessor.php index d496c34..8f41945 100644 --- a/src/BusProNet/DataProcessor/BookingDataProcessor.php +++ b/src/BusProNet/DataProcessor/BookingDataProcessor.php @@ -2,6 +2,7 @@ namespace App\BusProNet\DataProcessor; +use App\BusProNet\Model\Communication; use App\Form\Model\BookingData; class BookingDataProcessor @@ -88,8 +89,14 @@ class BookingDataProcessor $bookingData->participants[$participant->index]->height = $participant->height; $bookingData->participants[$participant->index]->weight = $participant->weight; $bookingData->participants[$participant->index]->shoeSize = $participant->shoeSize; - $bookingData->participants[$participant->index]->communication->email = $participant->email; - $bookingData->participants[$participant->index]->communication->mobile = $participant->mobile; + + if ($participant->email || $participant->mobile) { + if (null === $bookingData->participants[$participant->index]->communication) { + $bookingData->participants[$participant->index]->communication = new Communication(); + } + $bookingData->participants[$participant->index]->communication->email = $participant->email; + $bookingData->participants[$participant->index]->communication->mobile = $participant->mobile; + } } // Update applicant's data with personal data of first participant diff --git a/src/Form/Model/ParticipantData.php b/src/Form/Model/ParticipantData.php index 7d78c1a..e574810 100644 --- a/src/Form/Model/ParticipantData.php +++ b/src/Form/Model/ParticipantData.php @@ -96,8 +96,8 @@ class ParticipantData $instance->lastName = $personalData->name; $instance->gender = $personalData->gender; $instance->nationality = $personalData->nationality; - $instance->email = $personalData->communication->email; - $instance->mobile = $personalData->communication->mobile; + $instance->email = $personalData->communication?->email; + $instance->mobile = $personalData->communication?->mobile; $instance->dateOfBirth = $personalData->dateOfBirth; $instance->height = $personalData->height; $instance->weight = $personalData->weight;