From cf94635121aa023c01a0cd002830ccb31f177da0 Mon Sep 17 00:00:00 2001 From: matthieu Date: Tue, 19 May 2026 19:57:07 +0200 Subject: [PATCH] feat(workflow) : valide que task.status appartient au workflow du projet --- src/Entity/Task.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/Entity/Task.php b/src/Entity/Task.php index 639b929..486371f 100644 --- a/src/Entity/Task.php +++ b/src/Entity/Task.php @@ -478,4 +478,26 @@ class Task ; } } + + #[Assert\Callback] + public function validateStatusBelongsToProjectWorkflow(ExecutionContextInterface $context): void + { + if (null === $this->status || null === $this->project) { + return; + } + + $projectWorkflow = $this->project->getWorkflow(); + $statusWorkflow = $this->status->getWorkflow(); + + if (null === $projectWorkflow || null === $statusWorkflow) { + return; + } + + if ($projectWorkflow->getId() !== $statusWorkflow->getId()) { + $context->buildViolation('Status does not belong to this project\'s workflow.') + ->atPath('status') + ->addViolation() + ; + } + } }