From 5976668cb71af9b3a0c73c40289bbcc29ec68f63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Mon, 14 Oct 2024 15:01:17 +0200 Subject: [PATCH] fix: several bug fixes as found in logs --- src/BusProNet/UserDataHandler.php | 7 ++++++- src/Form/DestinationType.php | 2 +- src/Repository/UploadRepository.php | 2 +- src/Security/Voter/AvailabilityVoter.php | 5 +++++ 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/BusProNet/UserDataHandler.php b/src/BusProNet/UserDataHandler.php index 73ffbd0..f09b639 100644 --- a/src/BusProNet/UserDataHandler.php +++ b/src/BusProNet/UserDataHandler.php @@ -106,7 +106,12 @@ class UserDataHandler if (true === $isTeamer) { $address = Address::fromApiResponse($profileResponse); $communication = Communication::fromApiResponse($profileResponse); - $teamer = $user->getTeamer(); + if (null === $user->getTeamer()) { + $teamer = Teamer::fromApiResponse($profileResponse); + $this->entityManager->persist($teamer); + } else { + $teamer = $user->getTeamer(); + } $teamer ->setAddress($address) ->setCommunication($communication) diff --git a/src/Form/DestinationType.php b/src/Form/DestinationType.php index 6ed6247..b3c2bef 100644 --- a/src/Form/DestinationType.php +++ b/src/Form/DestinationType.php @@ -69,7 +69,7 @@ class DestinationType extends AbstractType if (null !== $hotelBusProId) { $hotel = $this->hotelDataProvider->get((int) $hotelBusProId); - $hotelLabel = sprintf('%s (%s)', $hotel->getName(), $hotel->getCode()); + $hotelLabel = null !== $hotel ? sprintf('%s (%s)', $hotel->getName(), $hotel->getCode()) : 'unbekannt'; } $form diff --git a/src/Repository/UploadRepository.php b/src/Repository/UploadRepository.php index 39fb9a3..dd8bd6c 100644 --- a/src/Repository/UploadRepository.php +++ b/src/Repository/UploadRepository.php @@ -97,7 +97,7 @@ class UploadRepository extends ServiceEntityRepository if (null !== $teamer = $filterDto->getTeamer()) { $qb - ->andWhere($qb->expr()->eq('upload.teamer', ':teamer')) + ->andWhere($qb->expr()->eq('disposition.teamer', ':teamer')) ->setParameter('teamer', $teamer) ; } diff --git a/src/Security/Voter/AvailabilityVoter.php b/src/Security/Voter/AvailabilityVoter.php index 77b9d15..e06ae0b 100644 --- a/src/Security/Voter/AvailabilityVoter.php +++ b/src/Security/Voter/AvailabilityVoter.php @@ -36,6 +36,11 @@ class AvailabilityVoter extends Voter /** @var User $user */ $user = $this->security->getUser(); + + if (null === $user) { + return false; + } + $teamer = $user->getTeamer(); return null === $availability->getOwner() || $teamer === $availability->getOwner();