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