fix some authorization check in menu

This commit is contained in:
2022-03-25 13:11:03 +01:00
parent b423821ae9
commit d11eebefae
4 changed files with 43 additions and 11 deletions

View File

@@ -96,23 +96,27 @@ class AccompanyingCourseMenuBuilder implements LocalMenuBuilderInterface
$workflow = $this->registry->get($period, 'accompanying_period_lifecycle');
if (null !== $period->getClosingDate()) {
if ($this->security->isGranted(AccompanyingPeriodVoter::EDIT, $period)) {
if ($workflow->can($period, 'close')) {
$menu->addChild($this->translator->trans('Close Accompanying Course'), [
'route' => 'chill_person_accompanying_course_close',
'routeParameters' => [
'accompanying_period_id' => $period->getId(),
],])
->setExtras(['order' => 99999]);
}
}
if (null !== $period->getClosingDate()
&& $this->security->isGranted(AccompanyingPeriodVoter::RE_OPEN_COURSE, $period)) {
$menu->addChild($this->translator->trans('Re-open accompanying course'), [
'route' => 'chill_person_accompanying_course_reopen',
'routeParameters' => [
'accompanying_period_id' => $period->getId(),
], ])
],])
->setExtras(['order' => 99998]);
}
if ($workflow->can($period, 'close')) {
$menu->addChild($this->translator->trans('Close Accompanying Course'), [
'route' => 'chill_person_accompanying_course_close',
'routeParameters' => [
'accompanying_period_id' => $period->getId(),
], ])
->setExtras(['order' => 99999]);
}
}
public static function getMenuIds(): array