NavigationController: Show module item types only if accessible by the user

refs #5600
This commit is contained in:
Johannes Meyer 2015-09-21 08:59:36 +02:00
parent 5f998eb56d
commit 5a494b3088
1 changed files with 8 additions and 4 deletions

View File

@ -47,13 +47,17 @@ class NavigationController extends Controller
*/ */
protected function listItemTypes() protected function listItemTypes()
{ {
$moduleManager = Icinga::app()->getModuleManager();
$types = $this->defaultItemTypes; $types = $this->defaultItemTypes;
foreach (Icinga::app()->getModuleManager()->getLoadedModules() as $module) { foreach ($moduleManager->getLoadedModules() as $module) {
if ($this->hasPermission($moduleManager::MODULE_PERMISSION_NS . $module->getName())) {
$moduleTypes = $module->getNavigationItems(); $moduleTypes = $module->getNavigationItems();
if (! empty($moduleTypes)) { if (! empty($moduleTypes)) {
$types = array_merge($types, $moduleTypes); $types = array_merge($types, $moduleTypes);
} }
} }
}
return $types; return $types;
} }