From 5490ff0691472f08ae56fa46c36cb293771dc25f Mon Sep 17 00:00:00 2001 From: Udo Walter Date: Thu, 28 Dec 2017 15:57:15 +0100 Subject: [vmstore] added permissions to choose internal, nfs or cifs vm storage --- modules-available/vmstore/page.inc.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'modules-available/vmstore/page.inc.php') 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']); -- cgit v1.2.3-55-g7522