fix validator for taking ancestors into account

This commit is contained in:
2021-12-07 18:05:05 +01:00
parent b1b9acc686
commit e6c60e66fc
3 changed files with 46 additions and 6 deletions

View File

@@ -61,14 +61,17 @@ class AccompanyingPeriodValidityValidator extends ConstraintValidator
$socialIssuesByKey[$si->getId()] = $si;
}
$periodIssuesKeys = $period->getSocialIssues()->map(function (SocialIssue $si) { return $si->getId();})
->toArray();
dump($socialIssuesByKey);
dump($periodIssuesKeys);
$periodIssuesWithAncestors = [];
foreach ($period->getSocialIssues() as $si) {
/** @var SocialIssue $si */
$periodIssuesWithAncestors = array_merge($periodIssuesWithAncestors, \array_map(
function (SocialIssue $si) { return $si->getId(); },
$si->getAncestors(true))
);
}
foreach ($socialIssuesByKey as $key => $si) {
if (!in_array($key, $periodIssuesKeys)) {
if (!in_array($key, $periodIssuesWithAncestors)) {
$this->context
->buildViolation(
$constraint->messageSocialIssueCannotBeDeleted