feat(workflow) : valide que task.status appartient au workflow du projet
This commit is contained in:
@@ -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()
|
||||
;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user