summaryrefslogtreecommitdiffstats
path: root/modules-available/webinterface
diff options
context:
space:
mode:
authorUdo Walter2017-12-14 14:08:07 +0100
committerUdo Walter2017-12-14 14:08:07 +0100
commit4b58c9e80aec4121426da99da7e7c3ca99545aaf (patch)
tree02e8f9ad6a0f8016817a2b35aceab5b27c85a284 /modules-available/webinterface
parent[permissionmanager] removed alert from roleeditor (diff)
downloadslx-admin-4b58c9e80aec4121426da99da7e7c3ca99545aaf.tar.gz
slx-admin-4b58c9e80aec4121426da99da7e7c3ca99545aaf.tar.xz
slx-admin-4b58c9e80aec4121426da99da7e7c3ca99545aaf.zip
[webinterface] added permissions to edit https, password and design settings
Diffstat (limited to 'modules-available/webinterface')
-rw-r--r--modules-available/webinterface/lang/de/permissions.json5
-rw-r--r--modules-available/webinterface/lang/en/permissions.json5
-rw-r--r--modules-available/webinterface/page.inc.php11
-rw-r--r--modules-available/webinterface/permissions/permissions.json5
-rw-r--r--modules-available/webinterface/style.css7
-rw-r--r--modules-available/webinterface/templates/customization.html2
-rw-r--r--modules-available/webinterface/templates/https.html2
-rw-r--r--modules-available/webinterface/templates/passwords.html2
8 files changed, 32 insertions, 7 deletions
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 @@
<form action="?do=WebInterface" method="post">
<input type="hidden" name="token" value="{{token}}">
<input type="hidden" name="action" value="customization">
- <div class="panel panel-default">
+ <div class="panel panel-default {{^editAllowed}}disabledPanel{{/editAllowed}}">
<div class="panel-heading">{{lang_customization}}</div>
<div class="panel-body">
<p>{{lang_customizationDesc}}</p>
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 @@
<form action="?do=WebInterface" method="post">
<input type="hidden" name="token" value="{{token}}">
<input type="hidden" name="action" value="https">
- <div class="panel panel-default">
+ <div class="panel panel-default {{^editAllowed}}disabledPanel{{/editAllowed}}">
<div class="panel-heading">{{lang_httpsSettings}}</div>
<div class="panel-body">
<p>{{lang_httpsDescription}}</p>
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 @@
<form action="?do=WebInterface" method="post">
<input type="hidden" name="token" value="{{token}}">
<input type="hidden" name="action" value="password">
- <div class="panel panel-default">
+ <div class="panel panel-default {{^editAllowed}}disabledPanel{{/editAllowed}}">
<div class="panel-heading">{{lang_passwordFields}}</div>
<div class="panel-body">
<p>{{lang_passwordsDescription}}</p>