From 789249cba7ff17f05b7f1ba1f11fe58fc00902b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Fri, 13 Oct 2023 15:22:17 +0200 Subject: [PATCH] Feat: Add even more guards --- .../DispositionWorkflowGuardSubscriber.php | 10 ++++++++++ translations/messages.de.yaml | 1 + 2 files changed, 11 insertions(+) diff --git a/src/EventListener/DispositionWorkflowGuardSubscriber.php b/src/EventListener/DispositionWorkflowGuardSubscriber.php index 2a9852f..85d12c3 100644 --- a/src/EventListener/DispositionWorkflowGuardSubscriber.php +++ b/src/EventListener/DispositionWorkflowGuardSubscriber.php @@ -69,6 +69,16 @@ class DispositionWorkflowGuardSubscriber implements EventSubscriberInterface $destination = $assignment->getDestination(); $today = new \DateTimeImmutable(); + $contractDocument = $disposition->getDocumentByType(Upload::TYPE_CONTRACT); + + if (null === $contractDocument || Upload::STATUS_CHECKED !== $contractDocument->getStatus()) { + $message = $this + ->translator + ->trans('message.upload_invoice.contract_missing_or_not_checked') + ; + $event->setBlocked(true, $message); + } + $earliestDate = $destination->getDateFrom(); if ($earliestDate > $today) { diff --git a/translations/messages.de.yaml b/translations/messages.de.yaml index 01e8bcd..05f200a 100644 --- a/translations/messages.de.yaml +++ b/translations/messages.de.yaml @@ -28,6 +28,7 @@ message: upload_contract: too_late: 'Die Frist für den Upload des Honorarvertrages ist abgelaufen (%date_from% - %date_to%). Bitte wende dich an deinen Ansprechpartner.' upload_invoice: + contract_missing_or_not_checked: 'Der Honorarvertrag wurde noch nicht hochgeladen oder ist noch nicht geprüft worden.' too_early: 'Du kannst deine Honorarnote mit Beginn deines Einsatzes ab dem %date% einreichen.' too_late: 'Du hättest deine Honorarnote bis zum %date% einreichen müssen. Bitte wende dich an deinen Ansprechpartner.' confirm_invoice: