summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2018-02-15 15:06:40 +0100
committerSimon Rettberg2018-02-15 15:06:40 +0100
commit77d5885827f123745a0d304019bb6bd0952b45cd (patch)
tree1649d9d93b7374867bf6511f102d06ea1af9a1bf
parent[locations] Update translations (diff)
downloadslx-admin-77d5885827f123745a0d304019bb6bd0952b45cd.tar.gz
slx-admin-77d5885827f123745a0d304019bb6bd0952b45cd.tar.xz
slx-admin-77d5885827f123745a0d304019bb6bd0952b45cd.zip
[serversetup-bwlp] Make use of new permission helpers
-rw-r--r--modules-available/serversetup-bwlp/page.inc.php18
-rw-r--r--modules-available/serversetup-bwlp/style.css12
-rw-r--r--modules-available/serversetup-bwlp/templates/ipaddress.html7
-rw-r--r--modules-available/serversetup-bwlp/templates/ipxe.html18
4 files changed, 27 insertions, 28 deletions
diff --git a/modules-available/serversetup-bwlp/page.inc.php b/modules-available/serversetup-bwlp/page.inc.php
index 16d3f8e2..ae709da7 100644
--- a/modules-available/serversetup-bwlp/page.inc.php
+++ b/modules-available/serversetup-bwlp/page.inc.php
@@ -17,7 +17,8 @@ class Page_ServerSetup extends Page
Util::redirect('?do=Main');
}
- if (Request::any('action') === 'getimage' && User::hasPermission("download")) {
+ if (Request::any('action') === 'getimage') {
+ User::assertPermission("download");
$this->handleGetImage();
}
@@ -30,13 +31,15 @@ class Page_ServerSetup extends Page
$this->getLocalAddresses();
}
- if ($action === 'ip' && User::hasPermission("edit.address")) {
+ if ($action === 'ip') {
+ User::assertPermission("edit.address");
// New address is to be set
$this->getLocalAddresses();
$this->updateLocalAddress();
}
- if ($action === 'ipxe' && User::hasPermission("edit.menu")) {
+ if ($action === 'ipxe') {
+ User::assertPermission("edit.menu");
// iPXE stuff changes
$this->updatePxeMenu();
}
@@ -50,12 +53,18 @@ class Page_ServerSetup extends Page
Render::addTemplate('ipxe_update', array('taskid' => $taskid));
}
+ Permission::addGlobalTags($perms, null, ['edit.menu', 'edit.address', 'download']);
+
Render::addTemplate('ipaddress', array(
'ips' => $this->taskStatus['data']['addresses'],
'chooseHintClass' => $this->hasIpSet ? '' : 'alert alert-danger',
'editAllowed' => User::hasPermission("edit.address"),
+ 'perms' => $perms,
));
$data = $this->currentMenu;
+ if (!User::hasPermission('edit.menu')) {
+ unset($data['masterpasswordclear']);
+ }
if (!isset($data['defaultentry'])) {
$data['defaultentry'] = 'net';
}
@@ -68,8 +77,7 @@ class Page_ServerSetup extends Page
if ($data['defaultentry'] === 'custom') {
$data['active-custom'] = 'checked';
}
- $data['editAllowed'] = User::hasPermission("edit.menu");
- $data['downloadAllowed'] = User::hasPermission("download");
+ $data['perms'] = $perms;
Render::addTemplate('ipxe', $data);
}
diff --git a/modules-available/serversetup-bwlp/style.css b/modules-available/serversetup-bwlp/style.css
deleted file mode 100644
index 3aea98af..00000000
--- a/modules-available/serversetup-bwlp/style.css
+++ /dev/null
@@ -1,12 +0,0 @@
-.disabledPanel {
- cursor: not-allowed;
-}
-
-.disabledPanel > .panel-body {
- pointer-events: none;
- opacity: 0.8;
-}
-
-.panel-footer .btn-group {
- cursor: not-allowed;
-} \ No newline at end of file
diff --git a/modules-available/serversetup-bwlp/templates/ipaddress.html b/modules-available/serversetup-bwlp/templates/ipaddress.html
index e82253f5..8d73dfac 100644
--- a/modules-available/serversetup-bwlp/templates/ipaddress.html
+++ b/modules-available/serversetup-bwlp/templates/ipaddress.html
@@ -1,4 +1,4 @@
-<div class="panel panel-default {{^editAllowed}}disabledPanel{{/editAllowed}}">
+<div class="panel panel-default">
<div class="panel-heading">
{{lang_bootAddress}}
</div>
@@ -20,7 +20,10 @@
{{/default}}
{{^default}}
<td>
- <button class="btn btn-primary btn-xs" name="ip" value="{{ip}}"><span class="glyphicon glyphicon-flag"></span> {{lang_set}}</button>
+ <button class="btn btn-primary btn-xs" name="ip" value="{{ip}}" {{perms.edit.address.disabled}}>
+ <span class="glyphicon glyphicon-flag"></span>
+ {{lang_set}}
+ </button>
</td>
{{/default}}
</tr>
diff --git a/modules-available/serversetup-bwlp/templates/ipxe.html b/modules-available/serversetup-bwlp/templates/ipxe.html
index e0dc53e5..f4b0b4d3 100644
--- a/modules-available/serversetup-bwlp/templates/ipxe.html
+++ b/modules-available/serversetup-bwlp/templates/ipxe.html
@@ -3,7 +3,7 @@
<input type="password" name="password_fake" id="password_fake" value="" style="position:absolute;top:-2000px" tabindex="-1">
<input type="hidden" name="action" value="ipxe">
<input type="hidden" name="token" value="{{token}}">
- <div class="panel panel-default {{^editAllowed}}disabledPanel{{/editAllowed}}">
+ <div class="panel panel-default">
<div class="panel-heading">
{{lang_bootMenu}}
</div>
@@ -16,15 +16,15 @@
<div class="form-group">
<strong>{{lang_bootBehavior}}</strong>
<div class="radio">
- <input type="radio" name="defaultentry" value="net" {{active-net}} id="id-net">
+ <input type="radio" name="defaultentry" value="net" {{active-net}} id="id-net" {{perms.edit.menu.disabled}}>
<label for="id-net">bwLehrpool</label>
</div>
<div class="radio">
- <input type="radio" name="defaultentry" value="hdd" {{active-hdd}} id="id-hdd">
+ <input type="radio" name="defaultentry" value="hdd" {{active-hdd}} id="id-hdd" {{perms.edit.menu.disabled}}>
<label for="id-hdd">{{lang_localHDD}}</label>
</div>
<div class="radio">
- <input type="radio" name="defaultentry" value="custom" {{active-custom}} id="id-custom">
+ <input type="radio" name="defaultentry" value="custom" {{active-custom}} id="id-custom" {{perms.edit.menu.disabled}}>
<label for="id-custom">{{lang_customEntry}} (&quot;custom&quot;)</label>
</div>
</div>
@@ -32,7 +32,7 @@
<div class="form-group">
<strong>{{lang_menuDisplayTime}}</strong>
<div class="input-group form-narrow">
- <input type="text" class="form-control" name="timeout" value="{{timeout}}" pattern="\d+">
+ <input type="text" class="form-control" name="timeout" value="{{timeout}}" pattern="\d+" {{perms.edit.menu.readonly}}>
<span class="input-group-addon">{{lang_seconds}}</span>
</div>
</div>
@@ -40,22 +40,22 @@
<div class="form-group">
<strong>{{lang_masterPassword}}</strong>
<div class="form-narrow">
- <input type="{{password_type}}" class="form-control" name="masterpassword" value="{{masterpasswordclear}}">
+ <input type="{{password_type}}" class="form-control" name="masterpassword" value="{{masterpasswordclear}}" {{perms.edit.menu.readonly}}>
</div>
<i>{{lang_masterPasswordHelp}}</i>
</div>
<div class="form-group">
<strong>{{lang_menuCustom}}</strong> <a class="btn btn-default btn-xs" data-toggle="modal" data-target="#help-custom"><span class="glyphicon glyphicon-question-sign"></span></a>
- <textarea class="form-control" name="custom" rows="8">{{custom}}</textarea>
+ <textarea class="form-control" name="custom" rows="8" {{perms.edit.menu.readonly}}>{{custom}}</textarea>
</div>
</div>
<div class="panel-footer">
- <button class="btn btn-primary pull-right" name="action" value="ipxe" {{^editAllowed}}disabled{{/editAllowed}}>{{lang_bootMenuCreate}}</button>
+ <button class="btn btn-primary pull-right" name="action" value="ipxe" {{perms.edit.menu.disabled}}>{{lang_bootMenuCreate}}</button>
<div>
<div class="btn-group" role="group">
- <a class="btn btn-default {{^downloadAllowed}}disabled{{/downloadAllowed}}" href="?do=ServerSetup&amp;action=getimage">
+ <a class="btn btn-default {{perms.download.disabled}}" href="?do=ServerSetup&amp;action=getimage">
<span class="glyphicon glyphicon-download-alt"></span>
{{lang_downloadImage}}
</a>