summaryrefslogtreecommitdiffstats
path: root/modules-available/vmstore/page.inc.php
diff options
context:
space:
mode:
authorUdo Walter2017-12-28 15:57:15 +0100
committerUdo Walter2017-12-28 15:57:15 +0100
commit5490ff0691472f08ae56fa46c36cb293771dc25f (patch)
tree43c55dcd4c7b5387f31b9c1672a3e5c15a13df47 /modules-available/vmstore/page.inc.php
parent[serversetup-bwlp] added permissions to edit boot address and menu and (diff)
downloadslx-admin-5490ff0691472f08ae56fa46c36cb293771dc25f.tar.gz
slx-admin-5490ff0691472f08ae56fa46c36cb293771dc25f.tar.xz
slx-admin-5490ff0691472f08ae56fa46c36cb293771dc25f.zip
[vmstore] added permissions to choose internal, nfs or cifs vm storage
Diffstat (limited to 'modules-available/vmstore/page.inc.php')
-rw-r--r--modules-available/vmstore/page.inc.php12
1 files changed, 11 insertions, 1 deletions
diff --git a/modules-available/vmstore/page.inc.php b/modules-available/vmstore/page.inc.php
index 3314bfe2..c3d5da77 100644
--- a/modules-available/vmstore/page.inc.php
+++ b/modules-available/vmstore/page.inc.php
@@ -8,7 +8,7 @@ class Page_VmStore extends Page
{
User::load();
- if (!User::hasPermission('superadmin')) {
+ if (!User::isLoggedIn()) {
Message::addError('main.no-permission');
Util::redirect('?do=Main');
}
@@ -33,6 +33,10 @@ class Page_VmStore extends Page
if (isset($vmstore['storetype'])) {
$vmstore['pre-' . $vmstore['storetype']] = 'checked';
}
+ $vmstore['internalAllowed'] = User::hasPermission("choose.internal");
+ $vmstore['nfsAllowed'] = User::hasPermission("choose.nfs");
+ $vmstore['cifsAllowed'] = User::hasPermission("choose.cifs");
+ $vmstore['saveAllowed'] = $vmstore['internalAllowed'] || $vmstore['nfsAllowed'] || $vmstore['cifsAllowed'];
Render::addTemplate('page-vmstore', $vmstore);
}
@@ -47,6 +51,12 @@ class Page_VmStore extends Page
Message::addError('main.value-invalid', 'type', $storetype);
Util::redirect('?do=VmStore');
}
+ if (($storetype === 'internal' && !User::hasPermission("choose.internal")) ||
+ ($storetype === 'nfs' && !User::hasPermission("choose.nfs")) ||
+ ($storetype === 'cifs' && !User::hasPermission("choose.cifs"))) {
+ Message::addError('main.no-permission');
+ Util::redirect('?do=VmStore');
+ }
// Validate syntax of nfs/cifs
if ($storetype === 'nfs' && !preg_match('#^\S+:\S+$#is', $vmstore['nfsaddr'])) {
Message::addError('main.value-invalid', 'nfsaddr', $vmstore['nfsaddr']);