feat: respect disposition status for staffing status

This commit is contained in:
Björn Fromme
2024-07-15 14:53:27 +02:00
parent 84edc5291e
commit f03f4715cf
+14 -3
View File
@@ -421,6 +421,13 @@ class Assignment implements BlameableEntityInterface, TimestampableEntityInterfa
return $this;
}
public function getConfirmedDispositions(): Collection
{
return $this->dispositions->filter(function (Disposition $disposition) {
return Disposition::STATUS_CONFIRMED === $disposition->getStatus();
});
}
public function getContact(): ?User
{
return $this->contact;
@@ -483,7 +490,9 @@ class Assignment implements BlameableEntityInterface, TimestampableEntityInterfa
public function isStaffed(): bool
{
return $this->availableDispositions === $this->dispositions->count();
$confirmedDispositions = $this->getConfirmedDispositions();
return $this->availableDispositions === $confirmedDispositions->count();
}
public function isUnstaffed(): bool
@@ -493,8 +502,10 @@ class Assignment implements BlameableEntityInterface, TimestampableEntityInterfa
public function isPartlyStaffed(): bool
{
return $this->availableDispositions > $this->dispositions->count()
&& 0 < $this->dispositions->count();
$confirmedDispositions = $this->getConfirmedDispositions();
return $this->availableDispositions > $confirmedDispositions->count()
&& 0 < $confirmedDispositions->count();
}
public function isStaffing(): bool