From 4b58c9e80aec4121426da99da7e7c3ca99545aaf Mon Sep 17 00:00:00 2001 From: Udo Walter Date: Thu, 14 Dec 2017 14:08:07 +0100 Subject: [webinterface] added permissions to edit https, password and design settings --- modules-available/webinterface/lang/de/permissions.json | 5 +++++ modules-available/webinterface/lang/en/permissions.json | 5 +++++ modules-available/webinterface/page.inc.php | 11 +++++++---- modules-available/webinterface/permissions/permissions.json | 5 +++++ modules-available/webinterface/style.css | 7 +++++++ modules-available/webinterface/templates/customization.html | 2 +- modules-available/webinterface/templates/https.html | 2 +- modules-available/webinterface/templates/passwords.html | 2 +- 8 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 modules-available/webinterface/lang/de/permissions.json create mode 100644 modules-available/webinterface/lang/en/permissions.json create mode 100644 modules-available/webinterface/permissions/permissions.json create mode 100644 modules-available/webinterface/style.css (limited to 'modules-available/webinterface') diff --git a/modules-available/webinterface/lang/de/permissions.json b/modules-available/webinterface/lang/de/permissions.json new file mode 100644 index 00000000..ee96810a --- /dev/null +++ b/modules-available/webinterface/lang/de/permissions.json @@ -0,0 +1,5 @@ +{ + "edit.https": "HTTPS Einstellungen bearbeiten.", + "edit.password": "Ă„ndern, ob Passwortfelder in der Web-Schnittstelle maskiert werden sollen.", + "edit.design": "Seitentitel und Hintergrundfarbe des Logos bearbeiten." +} \ No newline at end of file diff --git a/modules-available/webinterface/lang/en/permissions.json b/modules-available/webinterface/lang/en/permissions.json new file mode 100644 index 00000000..caf6d0cb --- /dev/null +++ b/modules-available/webinterface/lang/en/permissions.json @@ -0,0 +1,5 @@ +{ + "edit.https": "Edit HTTPS settings.", + "edit.password": "Change whether password fields should be masked or not.", + "edit.design": "Edit page title and logo background color." +} \ No newline at end of file diff --git a/modules-available/webinterface/page.inc.php b/modules-available/webinterface/page.inc.php index 6dfc9faa..41636c19 100644 --- a/modules-available/webinterface/page.inc.php +++ b/modules-available/webinterface/page.inc.php @@ -10,19 +10,19 @@ class Page_WebInterface extends Page protected function doPreprocess() { User::load(); - if (!User::hasPermission('superadmin')) { + if (!User::isLoggedIn()) { Message::addError('main.no-permission'); Util::redirect('?do=Main'); } switch (Request::post('action')) { case 'https': - $this->actionConfigureHttps(); + if (User::hasPermission("edit.https")) $this->actionConfigureHttps(); break; case 'password': - $this->actionShowHidePassword(); + if (User::hasPermission("edit.password")) $this->actionShowHidePassword(); break; case 'customization': - $this->actionCustomization(); + if (User::hasPermission("edit.design")) $this->actionCustomization(); break; } } @@ -123,6 +123,7 @@ class Page_WebInterface extends Page } } $data[$type . 'Selected'] = true; + $data["editAllowed"] = User::hasPermission("edit.https"); Render::addTemplate('https', $data); // // Password fields @@ -132,6 +133,7 @@ class Page_WebInterface extends Page $data['selected_show'] = 'checked'; else $data['selected_hide'] = 'checked'; + $data["editAllowed"] = User::hasPermission("edit.password"); Render::addTemplate('passwords', $data); $data = array('prefix' => Property::get('page-title-prefix')); $data['colors'] = array_map(function ($i) { return array('color' => $i ? '#' . $i : '', 'text' => Render::readableColor($i)); }, @@ -148,6 +150,7 @@ class Page_WebInterface extends Page if ($color) { $data['colors'][] = array('color' => $color, 'selected' => 'selected'); } + $data["editAllowed"] = User::hasPermission("edit.design"); Render::addTemplate('customization', $data); } diff --git a/modules-available/webinterface/permissions/permissions.json b/modules-available/webinterface/permissions/permissions.json new file mode 100644 index 00000000..45b5395d --- /dev/null +++ b/modules-available/webinterface/permissions/permissions.json @@ -0,0 +1,5 @@ +[ + "edit.https", + "edit.password", + "edit.design" +] \ No newline at end of file diff --git a/modules-available/webinterface/style.css b/modules-available/webinterface/style.css new file mode 100644 index 00000000..7b86af56 --- /dev/null +++ b/modules-available/webinterface/style.css @@ -0,0 +1,7 @@ +.disabledPanel { + cursor: not-allowed; +} +.disabledPanel > .panel-body { + pointer-events: none; + opacity: 0.8; +} diff --git a/modules-available/webinterface/templates/customization.html b/modules-available/webinterface/templates/customization.html index c949c1f2..ad57eea7 100644 --- a/modules-available/webinterface/templates/customization.html +++ b/modules-available/webinterface/templates/customization.html @@ -1,7 +1,7 @@
-
+
{{lang_customization}}

{{lang_customizationDesc}}

diff --git a/modules-available/webinterface/templates/https.html b/modules-available/webinterface/templates/https.html index f0accb57..a212cce3 100644 --- a/modules-available/webinterface/templates/https.html +++ b/modules-available/webinterface/templates/https.html @@ -1,7 +1,7 @@ -
+
{{lang_httpsSettings}}

{{lang_httpsDescription}}

diff --git a/modules-available/webinterface/templates/passwords.html b/modules-available/webinterface/templates/passwords.html index e190bb72..1d73c172 100644 --- a/modules-available/webinterface/templates/passwords.html +++ b/modules-available/webinterface/templates/passwords.html @@ -1,7 +1,7 @@ -
+
{{lang_passwordFields}}

{{lang_passwordsDescription}}

-- cgit v1.2.3-55-g7522