summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2018-02-13 16:30:49 +0100
committerSimon Rettberg2018-02-13 16:30:49 +0100
commit2a8858e17ef441a22526e8aedf5262e7e065d8d6 (patch)
treeb17041cdecfe91b120094eae0450085ef8c1d5d2
parent[permissionmanager] Slightly more efficient queries, wildcard support, debug ... (diff)
downloadslx-admin-2a8858e17ef441a22526e8aedf5262e7e065d8d6.tar.gz
slx-admin-2a8858e17ef441a22526e8aedf5262e7e065d8d6.tar.xz
slx-admin-2a8858e17ef441a22526e8aedf5262e7e065d8d6.zip
[syslog] Permission checks when saving anonymization days
-rw-r--r--modules-available/syslog/lang/de/permissions.json3
-rw-r--r--modules-available/syslog/lang/en/permissions.json3
-rw-r--r--modules-available/syslog/page.inc.php7
-rw-r--r--modules-available/syslog/permissions/permissions.json3
-rw-r--r--modules-available/syslog/templates/heading.html36
-rw-r--r--modules-available/syslog/templates/page-syslog.html26
6 files changed, 47 insertions, 31 deletions
diff --git a/modules-available/syslog/lang/de/permissions.json b/modules-available/syslog/lang/de/permissions.json
index 0cd05451..dcd96ae1 100644
--- a/modules-available/syslog/lang/de/permissions.json
+++ b/modules-available/syslog/lang/de/permissions.json
@@ -1,3 +1,4 @@
{
- "view": "Client Log anschauen."
+ "configure-anonymization": "Einstellen, nach wie vielen Tagen die Nutzernamen in den Logs entfernt werden.",
+ "view": "Client Log anschauen."
} \ No newline at end of file
diff --git a/modules-available/syslog/lang/en/permissions.json b/modules-available/syslog/lang/en/permissions.json
index 497e199e..26ea4448 100644
--- a/modules-available/syslog/lang/en/permissions.json
+++ b/modules-available/syslog/lang/en/permissions.json
@@ -1,3 +1,4 @@
{
- "view": "View client log."
+ "configure-anonymization": "Configure after how many days any usernames will be removed from log files.",
+ "view": "View client log."
} \ No newline at end of file
diff --git a/modules-available/syslog/page.inc.php b/modules-available/syslog/page.inc.php
index a26ed9be..3a7513b5 100644
--- a/modules-available/syslog/page.inc.php
+++ b/modules-available/syslog/page.inc.php
@@ -14,7 +14,9 @@ class Page_SysLog extends Page
Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
+
if (($days = Request::post('anondays', false, 'int')) !== false) {
+ User::assertPermission('configure-anonymization', NULL,'?do=syslog');
if ($days < 0 || $days > 180) {
Message::addError('anon-days-out-of-range', $days);
} else {
@@ -27,7 +29,9 @@ class Page_SysLog extends Page
protected function doRender()
{
- Render::addTemplate("heading");
+ $data = ['anondays' => Property::get(self::PROP_ANON_DAYS, 0)];
+ Permission::addGlobalTags($data['perms'], NULL, ['configure-anonymization']);
+ Render::addTemplate("heading", $data);
if (!User::hasPermission("view")) {
Message::addError('main.no-permission');
@@ -104,7 +108,6 @@ class Page_SysLog extends Page
'list' => $lines,
'types' => json_encode(array_values($types)),
'machineuuid' => Request::get('machineuuid'),
- 'anondays' => Property::get(self::PROP_ANON_DAYS, 0),
));
}
diff --git a/modules-available/syslog/permissions/permissions.json b/modules-available/syslog/permissions/permissions.json
index fcf530c5..cabf82f9 100644
--- a/modules-available/syslog/permissions/permissions.json
+++ b/modules-available/syslog/permissions/permissions.json
@@ -1,5 +1,8 @@
{
"view": {
"location-aware": true
+ },
+ "configure-anonymization": {
+ "location-aware": false
}
} \ No newline at end of file
diff --git a/modules-available/syslog/templates/heading.html b/modules-available/syslog/templates/heading.html
index d6790a21..2ab1a848 100644
--- a/modules-available/syslog/templates/heading.html
+++ b/modules-available/syslog/templates/heading.html
@@ -1 +1,35 @@
-<h1>{{lang_clientLog}}</h1> \ No newline at end of file
+<div class="page-header">
+ <button type="button" class="btn btn-default pull-right" data-toggle="modal" data-target="#modal-settings">
+ <span class="glyphicon glyphicon-cog"></span> {{lang_settings}}
+ </button>
+
+ <div id="modal-settings" class="modal fade" role="dialog">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <form method="post" action="?do=syslog">
+ <input type="hidden" name="token" value="{{token}}">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal">&times;</button>
+ <h4 class="modal-title"><b>{{lang_settings}}</b></h4>
+ </div>
+ <div class="modal-body">
+ <p>{{lang_anonDaysDescription}}</p>
+ <input {{perms.configure-anonymization.disabled}} class="form-control" type="number" name="anondays"
+ value="{{anondays}}" min="0" max="180">
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default" data-dismiss="modal">{{lang_cancel}}</button>
+ <button {{perms.configure-anonymization.disabled}} type="submit"
+ class="btn btn-primary">
+ <span class="glyphicon glyphicon-floppy-disk"></span>
+ {{lang_save}}
+ </button>
+ </div>
+ </form>
+ </div>
+
+ </div>
+ </div>
+
+ <h1>{{lang_clientLog}}</h1>
+</div> \ No newline at end of file
diff --git a/modules-available/syslog/templates/page-syslog.html b/modules-available/syslog/templates/page-syslog.html
index 7ab81067..9d05d434 100644
--- a/modules-available/syslog/templates/page-syslog.html
+++ b/modules-available/syslog/templates/page-syslog.html
@@ -1,6 +1,3 @@
-<button type="button" class="btn btn-default pull-right" data-toggle="modal" data-target="#modal-settings">
- <span class="glyphicon glyphicon-cog"></span> {{lang_settings}}
-</button>
<style type="text/css">
.selectize-dropdown {
max-width: 500px;
@@ -76,29 +73,6 @@
</div>
</div>
-<div id="modal-settings" class="modal fade" role="dialog">
- <div class="modal-dialog">
- <div class="modal-content">
- <form method="post" action="?do=syslog">
- <input type="hidden" name="token" value="{{token}}">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal">&times;</button>
- <h4 class="modal-title"><b>{{lang_settings}}</b></h4>
- </div>
- <div class="modal-body">
- <p>{{lang_anonDaysDescription}}</p>
- <input type="number" name="anondays" value="{{anondays}}" min="0" max="180">
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-default" data-dismiss="modal">{{lang_cancel}}</button>
- <button type="submit" class="btn btn-primary">{{lang_save}}</button>
- </div>
- </form>
- </div>
-
- </div>
-</div>
-
<script type="application/javascript"><!--
document.addEventListener('DOMContentLoaded', function () {