FEATURE #2048: another work done on permissions

This commit is contained in:
Michal Kváček
2017-08-11 02:24:44 +02:00
parent 335ec4a167
commit 7f43316602
13 changed files with 69 additions and 49 deletions
@@ -1,19 +1,17 @@
<?php
namespace App\CMS\Handlers;
use App\CMS\Contracts\Modules\AppHandler;
use App\Http\Controllers\Controller;
use App\Models\Content\Content;
use App\Models\FileManager\File;
/**
* Class Handler
*
* Handler is a class which handles module-specific behaviour which cannot be done by module itself, resp. cannot be
* done by some abstract magic.
*
* @package App\CMS\Handlers\
*/
abstract class Handler extends BaseHandler implements AppHandler
abstract class AdminHandler extends BaseHandler implements AppHandler
{
public static function getHistoryHandler()
{
@@ -22,26 +20,38 @@ abstract class Handler extends BaseHandler implements AppHandler
public static function getExtendedFormSections()
{
return [
$formParts = [
'basicInfo' => trans('admin/contents.basicInfo'),
'meta' => trans('admin/contents.metaOptions'),
'publication' => trans('admin/contents.publicationOptions'),
'appearance' => trans('admin/contents.appearance'),
'files' => trans('admin/contents.files')
];
if (\Auth::user()->cannot('upload', File::class)) {
unset($formParts['files']);
}
return $formParts;
}
public static function getExtendedFormInputsCreate()
{
return [
$formParts = [
'basicInfo' => 'admin.content.formParts.basicInformation',
'meta' => 'admin.content.formParts.metaInformation',
'publication' => 'admin.content.formParts.publicationSetup',
'appearance' => 'admin.content.formParts.appearance',
'files' => 'admin.content.formParts.files'
];
if (\Auth::user()->cannot('upload', File::class)) {
unset($formParts['files']);
}
return $formParts;
}
public static function getExtendedFormInputsEdit()
{
return self::getExtendedFormInputsCreate();
+6 -3
View File
@@ -6,6 +6,7 @@ use App\CMS\Contracts\Modules\BaseModuleHandler;
use App\CMS\Enumerations\TemplatePathsHumanReadableRootOnly;
use App\CMS\Enumerations\WidgetTypes;
use App\Models\ActionLog\ActionLogType;
use App\Models\Content\Content;
use App\Models\FileManager\File;
use App\Models\Settings;
use App\Models\Templates\Template;
@@ -38,9 +39,11 @@ abstract class BaseHandler implements BaseModuleHandler
* Content pages
* Submenus can be registered later
*/
$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']);
if ($user->can('manage', Content::class)) {
$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']);
}
/**
* File manager