From 49faa1eb252713f3d7b5042796a98adbffc96fd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fromme?= Date: Mon, 28 Oct 2024 11:33:25 +0100 Subject: [PATCH] feat: consider all dispositions when updating staffing status --- src/Entity/Assignment.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Entity/Assignment.php b/src/Entity/Assignment.php index 0ca50e1..d14cca7 100644 --- a/src/Entity/Assignment.php +++ b/src/Entity/Assignment.php @@ -136,7 +136,7 @@ class Assignment implements BlameableEntityInterface, TimestampableEntityInterfa public function updateStaffingStatus(): void { - $confirmedDispositions = $this->getConfirmedDispositions(); + $confirmedDispositions = $this->getValidDispositions(); $validApplications = $this->getValidApplications(); if ($this->availableDispositions === $confirmedDispositions->count()) { @@ -448,10 +448,14 @@ class Assignment implements BlameableEntityInterface, TimestampableEntityInterfa return $this; } - public function getConfirmedDispositions(): Collection + public function getValidDispositions(): Collection { return $this->dispositions->filter(function (Disposition $disposition) { - return Disposition::STATUS_CONFIRMED === $disposition->getStatus(); + return true === in_array($disposition->getStatus(), [ + Disposition::STATUS_NEW, + Disposition::STATUS_CHECKING_CONTRACT, + Disposition::STATUS_CONFIRMED, + ]); }); }