Add permissions for account dropdown items

This adds permissions to Back-end Preferences and Code editor
preferences in the backend.

Instead of Access denied, the Backend Preferences page displays
an "Unable to find the spcified settings" error. Meh... it works.
This commit is contained in:
Dave Shoreman 2015-09-24 10:59:59 +01:00
parent 7aea60f11d
commit 5816ae5604
4 changed files with 16 additions and 2 deletions

View File

@ -110,6 +110,14 @@ class ServiceProvider extends ModuleServiceProvider
'label' => 'system::lang.permissions.manage_other_administrators',
'tab' => 'system::lang.permissions.name'
],
'backend.manage_preferences' => [
'label' => 'system::lang.permissions.manage_preferences',
'tab' => 'system::lang.permissions.name'
],
'backend.manage_editor' => [
'label' => 'system::lang.permissions.manage_editor',
'tab' => 'system::lang.permissions.name'
],
'backend.manage_branding' => [
'label' => 'system::lang.permissions.manage_branding',
'tab' => 'system::lang.permissions.name'
@ -207,6 +215,7 @@ class ServiceProvider extends ModuleServiceProvider
'category' => SettingsManager::CATEGORY_MYSETTINGS,
'icon' => 'icon-laptop',
'class' => 'Backend\Models\BackendPreferences',
'permissions' => ['backend.manage_preferences'],
'order' => 510,
'context' => 'mysettings'
],
@ -216,6 +225,7 @@ class ServiceProvider extends ModuleServiceProvider
'category' => SettingsManager::CATEGORY_MYSETTINGS,
'icon' => 'icon-code',
'url' => Backend::URL('backend/editorpreferences'),
'permissions' => ['backend.manage_editor'],
'order' => 520,
'context' => 'mysettings'
],

View File

@ -20,6 +20,8 @@ class EditorPreferences extends Controller
public $formConfig = 'config_form.yaml';
public $requiredPermissions = ['backend.manage_editor'];
/**
* Constructor.
*/

View File

@ -30,8 +30,8 @@ class Settings extends Controller
{
parent::__construct();
if ($this->action == 'mysettings') {
$this->requiredPermissions = null;
if ($this->action == 'backend_preferences') {
$this->requiredPermissions = ['backend.manage_preferences'];
}
$this->addCss('/modules/system/assets/css/settings/settings.css', 'core');

View File

@ -316,6 +316,8 @@ return [
'manage_mail_templates' => 'Manage mail templates',
'manage_mail_settings' => 'Manage mail settings',
'manage_other_administrators' => 'Manage other administrators',
'manage_preferences' => 'Manage backend preferences',
'manage_editor' => 'Manage code editor preferences',
'view_the_dashboard' => 'View the dashboard',
'manage_branding' => 'Customize the back-end'
]