From 51d1c163693d3db3cab38f640de0b4585e811fd2 Mon Sep 17 00:00:00 2001 From: Luke Towers Date: Tue, 20 Oct 2020 09:20:16 -0600 Subject: [PATCH] More tweaks to the default publisher permissions, added separate permission for users to manage their own personal editor preferences. --- modules/backend/ServiceProvider.php | 6 ++++++ modules/backend/controllers/Preferences.php | 2 +- modules/backend/lang/en/lang.php | 1 + modules/backend/models/preference/fields.yaml | 1 + modules/system/lang/en/lang.php | 3 ++- 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/backend/ServiceProvider.php b/modules/backend/ServiceProvider.php index f815fc93b..e21bda158 100644 --- a/modules/backend/ServiceProvider.php +++ b/modules/backend/ServiceProvider.php @@ -165,10 +165,16 @@ class ServiceProvider extends ModuleServiceProvider 'backend.manage_editor' => [ 'label' => 'system::lang.permissions.manage_editor', 'tab' => 'system::lang.permissions.name', + 'roles' => UserRole::CODE_DEVELOPER, + ], + 'backend.manage_own_editor' => [ + 'label' => 'system::lang.permissions.manage_own_editor', + 'tab' => 'system::lang.permissions.name', ], 'backend.manage_branding' => [ 'label' => 'system::lang.permissions.manage_branding', 'tab' => 'system::lang.permissions.name', + 'roles' => UserRole::CODE_DEVELOPER, ], 'media.manage_media' => [ 'label' => 'backend::lang.permissions.manage_media', diff --git a/modules/backend/controllers/Preferences.php b/modules/backend/controllers/Preferences.php index 9a79f88b5..1a9e25828 100644 --- a/modules/backend/controllers/Preferences.php +++ b/modules/backend/controllers/Preferences.php @@ -57,7 +57,7 @@ class Preferences extends Controller */ public function formExtendFields($form) { - if (!$this->user->hasAccess('backend.manage_editor')) { + if (!$this->user->hasAccess('backend.manage_own_editor')) { $form->removeTab('backend::lang.backend_preferences.code_editor'); } } diff --git a/modules/backend/lang/en/lang.php b/modules/backend/lang/en/lang.php index 230e744a4..aca0ab6cd 100644 --- a/modules/backend/lang/en/lang.php +++ b/modules/backend/lang/en/lang.php @@ -373,6 +373,7 @@ return [ 'editor' => [ 'menu_label' => 'Editor settings', 'menu_description' => 'Customize the global editor preferences, such as font size and color scheme.', + 'preview' => 'Preview', 'font_size' => 'Font size', 'tab_size' => 'Tab size', 'use_hard_tabs' => 'Indent using tabs', diff --git a/modules/backend/models/preference/fields.yaml b/modules/backend/models/preference/fields.yaml index dd4cedb4a..f8e0aad97 100644 --- a/modules/backend/models/preference/fields.yaml +++ b/modules/backend/models/preference/fields.yaml @@ -21,6 +21,7 @@ tabs: editor_preview: type: partial + label: backend::lang.editor.preview tab: backend::lang.backend_preferences.code_editor path: field_editor_preview diff --git a/modules/system/lang/en/lang.php b/modules/system/lang/en/lang.php index fa55cb114..136841bdd 100644 --- a/modules/system/lang/en/lang.php +++ b/modules/system/lang/en/lang.php @@ -441,7 +441,8 @@ return [ 'manage_other_administrators' => 'Manage other administrators', 'impersonate_users' => 'Impersonate users', 'manage_preferences' => 'Manage backend preferences', - 'manage_editor' => 'Manage code editor preferences', + 'manage_editor' => 'Manage global code editor preferences', + 'manage_own_editor' => 'Manage personal code editor preferences', 'view_the_dashboard' => 'View the dashboard', 'manage_default_dashboard' => 'Manage the default dashboard', 'manage_branding' => 'Customize the back-end',