feat: call off single disposition as admin with optional notification

This commit is contained in:
Björn Fromme
2025-07-22 16:15:18 +02:00
parent b5314d270a
commit 231d0f315b
19 changed files with 1383 additions and 14 deletions
+34
View File
@@ -25,6 +25,10 @@ class Disposition implements BlameableEntityInterface, TimestampableEntityInterf
public const STATUS_CHECKING_INVOICE = 'checking_invoice';
public const STATUS_PAID = 'paid';
public const STATUS_COMPLETED = 'completed';
public const STATUS_CALLED_OFF = 'called_off';
public const CALLED_OFF_BY_TEAMER = 'teamer';
public const CALLED_OFF_BY_OFFICE = 'office';
#[ORM\Id]
#[ORM\GeneratedValue]
@@ -59,6 +63,12 @@ class Disposition implements BlameableEntityInterface, TimestampableEntityInterf
#[ORM\JoinColumn(onDelete: 'SET NULL')]
private ?Feedback $feedback = null;
#[ORM\Column(length: 64, nullable: true)]
private ?string $calledOffBy = null;
#[ORM\Column(type: Types::TEXT, nullable: true)]
private ?string $calledOffReason = null;
public function __construct(Application $application)
{
$this->uuid = Uuid::v4();
@@ -243,4 +253,28 @@ class Disposition implements BlameableEntityInterface, TimestampableEntityInterf
return $period->isStarted();
}
public function getCalledOffBy(): ?string
{
return $this->calledOffBy;
}
public function setCalledOffBy(?string $calledOffBy): static
{
$this->calledOffBy = $calledOffBy;
return $this;
}
public function getCalledOffReason(): ?string
{
return $this->calledOffReason;
}
public function setCalledOffReason(?string $calledOffReason): static
{
$this->calledOffReason = $calledOffReason;
return $this;
}
}