FEATURE: display only modules, which manages content in Web content tab

This commit is contained in:
Michal Kváček
2016-04-11 01:35:09 +02:00
parent 288b1043b5
commit 6a4cbb0a5c
+9 -3
View File
@@ -78,13 +78,19 @@ abstract class Handler implements AppHandler
$sub->route('users.overview', trans('admin/mainMenu.usersOverview'), [], 30, ['icon' => 'fa fa-users']); $sub->route('users.overview', trans('admin/mainMenu.usersOverview'), [], 30, ['icon' => 'fa fa-users']);
}, 20, ['icon' => 'fa fa-users']); }, 20, ['icon' => 'fa fa-users']);
$menu->dropdown(trans('admin/mainMenu.contentPages'), function ($sub) { $menu->dropdown(trans('admin/mainMenu.contentPages'), function ($sub) {
$modules = ModuleNamesWithIds::getWithTranslations(); $modules = \App\Models\Module::all();
if (!empty($modules)) { if (!empty($modules)) {
$sub->dropdown(trans('admin/mainMenu.newContentPage'), function ($sub) use ($modules) { $sub->dropdown(trans('admin/mainMenu.newContentPage'), function ($sub) use ($modules) {
$i = 1; $i = 1;
foreach ($modules as $module => $name) { foreach ($modules as $module) {
$sub->route('content.new', trans($name), ['moduleId' => $module], $i++);
// display only list of all modules, which manages content
if (!call_user_func([$module->handler, 'managesContent'])) {
continue;
}
$sub->route('content.new', trans($module->name), ['moduleId' => $module->id], $i++);
} }
}, 10, ['icon' => 'fa fa-plus']); }, 10, ['icon' => 'fa fa-plus']);
} }