/** * In this method you can add children for a specific parent, but also remove and change the already created children * * @param MenuBuilder $menu The MenuBuilder * @param MenuItem[] &$children The current children * @param MenuItem $parent The parent Menu item * @param Request $request The Request */ public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null) { if (is_null($parent)) { return; } if ('KunstmaanAdminBundle_settings' == $parent->getRoute()) { $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanTranslatorBundle_settings_translations')->setLabel('Translations')->setUniqueId('Translations')->setParent($parent); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); $parent->setActive(true); } $children[] = $menuItem; } elseif ('KunstmaanTranslatorBundle_settings_translations' == $parent->getRoute()) { $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanTranslatorBundle_settings_translations_add')->setUniqueId('Add translation')->setLabel('Add translation')->setParent($parent)->setAppearInNavigation(false); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); } $children[] = $menuItem; $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanTranslatorBundle_settings_translations_edit')->setUniqueId('Edit translation')->setLabel('Edit translation')->setParent($parent)->setAppearInNavigation(false); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); } $children[] = $menuItem; } }
/** * @covers Kunstmaan\AdminBundle\Helper\Menu\MenuItem::getRoute * @covers Kunstmaan\AdminBundle\Helper\Menu\MenuItem::setRoute * @covers Kunstmaan\AdminBundle\Helper\Menu\MenuItem::getRouteParams */ public function testGetSetRoute() { $params = array('id' => 5); $this->object->setRoute('ARoute', $params); $this->assertEquals('ARoute', $this->object->getRoute()); $this->assertEquals($params, $this->object->getRouteParams()); }
/** * @param MenuItem $parent * @param array $item * * @return bool */ private function parentMatches(MenuItem $parent = null, $item) { if (null === $parent) { return null === $item['parent']; } return $item['parent'] === $parent->getRoute(); }
/** * In this method you can add children for a specific parent, but also remove and change the already created children * * @param MenuBuilder $menu The MenuBuilder * @param MenuItem[] &$children The current children * @param MenuItem $parent The parent Menu item * @param Request $request The Request */ public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null) { if (!is_null($parent) && 'KunstmaanAdminBundle_settings' == $parent->getRoute() && $this->security->isGranted('ROLE_SUPER_ADMIN')) { $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanSeoBundle_settings_robots')->setLabel('Robots')->setUniqueId('robots_settings')->setParent($parent); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); $parent->setActive(true); } $children[] = $menuItem; } }
/** * In this method you can add children for a specific parent, but also remove and change the already created children * * @param MenuBuilder $menu The MenuBuilder * @param MenuItem[] &$children The current children * @param MenuItem $parent The parent Menu item * @param Request $request The Request */ public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null) { if (!is_null($parent) && 'KunstmaanAdminBundle_settings' == $parent->getRoute()) { $menuItem = new MenuItem($menu); $menuItem->setRoute('kunstmaanredirectbundle_admin_redirect')->setLabel('Redirects')->setUniqueId('Redirects')->setParent($parent); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); $parent->setActive(true); } $children[] = $menuItem; } }
/** * @param MenuBuilder $menu * @param array $children * @param MenuItem|null $parent * @param Request|null $request */ public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null) { if (null !== $parent && 'KunstmaanAdminBundle_modules' === $parent->getRoute()) { $menuItem = new TopMenuItem($menu); $menuItem->setRoute('kunstmaantaggroupbundle_admin_taggroup')->setUniqueId('TagsGroups')->setLabel('Tags Groups')->setParent($parent); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); $parent->setActive(true); } $children[] = $menuItem; } }
/** * In this method you can add children for a specific parent, but also remove and change the already created * children * * @param MenuBuilder $menu The MenuBuilder * @param MenuItem[] &$children The current children * @param MenuItem|null $parent The parent Menu item * @param Request $request The Request */ public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null) { if (null === $parent) { return; } foreach ($this->menuItems as $item) { if ($item['parent'] != $parent->getRoute()) { continue; } if ($item['role'] && false === $this->securityContext->isGranted($item['role'])) { continue; } $menuItem = new TopMenuItem($menu); $menuItem->setRoute($item['route'], $item['params'])->setLabel($item['label'])->setUniqueId($item['route'])->setParent($parent); if ($request && stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); $parent->setActive(true); } $children[] = $menuItem; } }
/** * In this method you can add children for a specific parent, but also remove and change the already created children * * @param MenuBuilder $menu The MenuBuilder * @param MenuItem[] &$children The current children * @param MenuItem $parent The parent Menu item * @param Request $request The Request */ public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null) { if (is_null($parent)) { $menuItem = new TopMenuItem($menu); $menuItem->setRoute('KunstmaanAdminBundle_settings')->setLabel('Settings')->setUniqueId('settings')->setParent($parent)->setRole('settings'); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); } $children[] = $menuItem; } elseif ('KunstmaanAdminBundle_settings' == $parent->getRoute()) { if ($this->container->get('security.context')->isGranted('ROLE_SUPER_ADMIN')) { if ($this->container->getParameter('version_checker.enabled')) { $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanAdminBundle_settings_bundle_version')->setLabel('Bundle versions')->setUniqueId('bundle_versions')->setParent($parent); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); } $children[] = $menuItem; } } } }
/** * In this method you can add children for a specific parent, but also remove and change the already created children * * @param MenuBuilder $menu The MenuBuilder * @param MenuItem[] &$children The current children * @param MenuItem $parent The parent Menu item * @param Request $request The Request */ public function adaptChildren(MenuBuilder $menu, array &$children, MenuItem $parent = null, Request $request = null) { if (is_null($parent)) { return; } else { if ('KunstmaanAdminBundle_settings' == $parent->getRoute()) { if ($this->authorizationChecker->isGranted('ROLE_SUPER_ADMIN')) { $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanUserManagementBundle_settings_users')->setUniqueId('Users')->setLabel('Users')->setParent($parent); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); $parent->setActive(true); } $children[] = $menuItem; $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanUserManagementBundle_settings_groups')->setUniqueId('Groups')->setLabel('Groups')->setParent($parent); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); $parent->setActive(true); } $children[] = $menuItem; $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanUserManagementBundle_settings_roles')->setUniqueId('Roles')->setLabel('Roles')->setParent($parent); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); $parent->setActive(true); } $children[] = $menuItem; } } else { if ('KunstmaanUserManagementBundle_settings_users' == $parent->getRoute()) { if ($this->authorizationChecker->isGranted('ROLE_SUPER_ADMIN')) { $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanUserManagementBundle_settings_users_add')->setUniqueId('Add user')->setLabel('Add user')->setParent($parent)->setAppearInNavigation(false); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); } $children[] = $menuItem; $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanUserManagementBundle_settings_users_edit')->setUniqueId('Edit user')->setLabel('Edit user')->setParent($parent)->setAppearInNavigation(false); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); } $children[] = $menuItem; } } else { if ('KunstmaanUserManagementBundle_settings_groups' == $parent->getRoute()) { if ($this->authorizationChecker->isGranted('ROLE_SUPER_ADMIN')) { $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanUserManagementBundle_settings_groups_add')->setUniqueId('Add group')->setLabel('Add group')->setParent($parent)->setAppearInNavigation(false); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); } $children[] = $menuItem; $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanUserManagementBundle_settings_groups_edit')->setUniqueId('Edit group')->setLabel('Edit group')->setParent($parent)->setAppearInNavigation(false); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); } $children[] = $menuItem; } } else { if ('KunstmaanUserManagementBundle_settings_roles' == $parent->getRoute()) { if ($this->authorizationChecker->isGranted('ROLE_SUPER_ADMIN')) { $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanUserManagementBundle_settings_roles_add')->setUniqueId('Add role')->setLabel('Add role')->setParent($parent)->setAppearInNavigation(false); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); } $children[] = $menuItem; $menuItem = new MenuItem($menu); $menuItem->setRoute('KunstmaanUserManagementBundle_settings_roles_edit')->setUniqueId('Edit role')->setLabel('Edit role')->setParent($parent)->setAppearInNavigation(false); if (stripos($request->attributes->get('_route'), $menuItem->getRoute()) === 0) { $menuItem->setActive(true); } $children[] = $menuItem; } } } } } } }