Merge branch 'authorization' into separate_modules

This commit is contained in:
Michal Kváček
2017-08-22 22:36:00 +02:00
12 changed files with 33 additions and 28 deletions
+4 -1
View File
@@ -5,6 +5,7 @@ namespace App\CMS\Handlers;
use App\CMS\Contracts\Modules\BaseModuleHandler;
use App\CMS\Enumerations\TemplatePathsHumanReadableRootOnly;
use App\CMS\Enumerations\WidgetTypes;
use App\CMS\Repositories\Module;
use App\Models\ActionLog\ActionLog;
use App\Models\Content\Content;
use App\Models\FileManager\File;
@@ -39,7 +40,9 @@ abstract class BaseHandler implements BaseModuleHandler
* Content pages
* Submenus can be registered later
*/
if ($user->can('manage', Content::class)) {
$contentModules = app(Module::class)->getContentModules();
if ($user->can('manage', Content::class) && !$contentModules->isEmpty()) {
$menu->dropdown(trans('admin/mainMenu.contentPages'), function ($sub) {
$sub->route('content.overview', trans('admin/mainMenu.contentPageOverview'), [], 10000, ['icon' => 'fa fa-fw fa-list']);
}, 20, ['icon' => 'fa fa-fw fa-database']);
@@ -1,6 +1,6 @@
<?php
namespace App\ModuleManager;
namespace App\CMS\ModuleManager;
use App\CMS\Contracts\Modules\AppHandler;
use App\CMS\Contracts\Modules\TemplateHandler;
@@ -1,10 +1,8 @@
<?php
namespace App\ModuleManager\Providers;
namespace App\CMS\ModuleManager\Providers;
use App\CMS\Repositories\Module as ModuleRepository;
use App\Models\Module;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\ServiceProvider;
class ModuleManager extends ServiceProvider
@@ -18,6 +16,8 @@ class ModuleManager extends ServiceProvider
// this service provider needs published config - config is merged right after this service provider
$modules = app(ModuleRepository::class)->getOnlyModules();
// dd($modules);
// iterate over all modules and enable or disable them
foreach ($modules as $module) {
if (isset($module->module_settings['providers']) && !empty($module->module_settings['providers'])) {
@@ -1,5 +1,5 @@
<?php
namespace App\ModuleManager;
namespace App\CMS\ModuleManager;
use App\Models\Module;
use App\Models\Templates\TemplatePath;
+11 -2
View File
@@ -28,6 +28,15 @@ class Module extends Repository implements IModule
}
}
public function getContentModules()
{
return Cache::remember('enabled-content-modules', 3600, function () {
return ModuleModel::where('enabled', true)
->where('manages_content', true)
->get();
});
}
public function getCreateContentTitle(ModuleModel $module)
{
$pageHeading = trans('admin/contents.new', ['name' => trans($module->name)]);
@@ -64,8 +73,8 @@ class Module extends Repository implements IModule
{
return Cache::rememberForever('enabled-modules', function () {
return ModuleModel::where('enabled', true)
->where('is_template', false)
->get();
->where('is_template', false)
->get();
});
}
@@ -2,8 +2,8 @@
namespace App\Console\Commands\Modules;
use App\CMS\ModuleManager\Installer;
use App\Models\Module;
use App\ModuleManager\Installer;
use Illuminate\Console\Command;
use Illuminate\Contracts\Filesystem\FileNotFoundException;
use Illuminate\Support\Facades\Cache;
@@ -2,19 +2,22 @@
namespace App\Http\Controllers\Admin\Dashboard;
use App\CMS\Repositories\Module;
use App\Http\Controllers\Admin\Controller;
use App\Models\Content\Content;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class Dashboard extends Controller
{
public function index(Request $request)
{
// $data = unserialize(file_get_contents('/home/michal/decoded.bin'));
//
// dd($data);
$contentModules = app(Module::class)->getContentModules();
return redirect()->route('content.overview');
if (\Auth::user()->can('manage', Content::class) && !$contentModules->isEmpty()) {
return redirect()->route('content.overview');
} else {
return redirect()->route('users.detail', ['user' => Auth::user()]);
}
}
}
@@ -38,7 +38,7 @@ class AdminMenuRegistrator
// try to register menus
try {
// call_user_func([$module->handler, 'registerAdminMenu'], $user);
call_user_func([$module->handler, 'registerAdminMenu'], $user);
} catch (\Exception $e) {
Log::debug('Error in ' . $module->handler . '::registerAdminMenu: ' . $e->getMessage());
}
-10
View File
@@ -1,10 +0,0 @@
<?php
return [
'namespace' => 'Modules',
'paths' => [
'modules' => base_path('modules'),
'assets' => public_path('modules'),
'stubs' => base_path('app/CMS/Modules/Stubs'),
]
];
+1 -1
View File
@@ -155,7 +155,7 @@ return [
Illuminate\View\ViewServiceProvider::class,
Illuminate\Notifications\NotificationServiceProvider::class,
Mcamara\LaravelLocalization\LaravelLocalizationServiceProvider::class,
\App\ModuleManager\Providers\ModuleManager::class,
\App\CMS\ModuleManager\Providers\ModuleManager::class,
\Nwidart\Menus\MenusServiceProvider::class,
Franzose\ClosureTable\ClosureTableServiceProvider::class,
\Watson\Sitemap\SitemapServiceProvider::class,
+1 -1
View File
@@ -5,6 +5,6 @@ return [
'paths' => [
'modules' => base_path('modules'),
'assets' => public_path('modules'),
'stubs' => base_path('app/ModuleManager/Stubs'),
'stubs' => base_path('app/CMS/ModuleManager/Stubs'),
]
];