From 6a4cbb0a5c6066d645404af8b1a827d4f75a6569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Mon, 11 Apr 2016 01:35:09 +0200 Subject: [PATCH] FEATURE: display only modules, which manages content in Web content tab --- app/Handlers/Handler.php | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/app/Handlers/Handler.php b/app/Handlers/Handler.php index bd09479d..7b12c432 100644 --- a/app/Handlers/Handler.php +++ b/app/Handlers/Handler.php @@ -71,20 +71,26 @@ abstract class Handler implements AppHandler // create instance of main menu \Menu::create('mainMenu', function ($menu) { -// $menu->route('admin.dashboard', trans('admin/mainMenu.dashboard'), [], 10, ['icon' => 'fa fa-dashboard']); + // $menu->route('admin.dashboard', trans('admin/mainMenu.dashboard'), [], 10, ['icon' => 'fa fa-dashboard']); $menu->dropdown(trans('admin/mainMenu.userManagement'), function ($sub) { $sub->route('users.new', trans('admin/mainMenu.newUser'), [], 10, ['icon' => 'fa fa-user-plus']); $sub->route('users.detail', trans('admin/mainMenu.userDetail'), [], 20, ['icon' => 'fa fa-user']); $sub->route('users.overview', trans('admin/mainMenu.usersOverview'), [], 30, ['icon' => 'fa fa-users']); }, 20, ['icon' => 'fa fa-users']); $menu->dropdown(trans('admin/mainMenu.contentPages'), function ($sub) { - $modules = ModuleNamesWithIds::getWithTranslations(); + $modules = \App\Models\Module::all(); if (!empty($modules)) { $sub->dropdown(trans('admin/mainMenu.newContentPage'), function ($sub) use ($modules) { $i = 1; - foreach ($modules as $module => $name) { - $sub->route('content.new', trans($name), ['moduleId' => $module], $i++); + foreach ($modules as $module) { + + // 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']); } @@ -124,10 +130,10 @@ abstract class Handler implements AppHandler } }, 29, ['icon' => 'fa fa-folder-open']); } -// $menu->dropdown(trans('admin/mainMenu.customFields'), function ($sub) { -// $sub->route('customfields.new', trans('admin/mainMenu.customFieldsNew'), [], 10, ['icon' => 'fa fa-code']); -// $sub->route('customfields.overview', trans('admin/mainMenu.customFieldsOverview'), [], 50, ['icon' => 'fa fa-code-fork']); -// }, 30, ['icon' => 'fa fa-code']); + // $menu->dropdown(trans('admin/mainMenu.customFields'), function ($sub) { + // $sub->route('customfields.new', trans('admin/mainMenu.customFieldsNew'), [], 10, ['icon' => 'fa fa-code']); + // $sub->route('customfields.overview', trans('admin/mainMenu.customFieldsOverview'), [], 50, ['icon' => 'fa fa-code-fork']); + // }, 30, ['icon' => 'fa fa-code']); $menu->route('log.overview', trans('admin/mainMenu.actionLog'), [], 40, ['icon' => 'fa fa-history']); $menu->route('settings.overview', trans('admin/mainMenu.settings'), [], 50, ['icon' => 'fa fa-gear']); });