This is an automated email from the ASF dual-hosted git repository.

rohit pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack-primate.git


The following commit(s) were added to refs/heads/master by this push:
     new 55736c3  project: Restrict project related operations to admins/ 
domain admins and project owners (#529)
55736c3 is described below

commit 55736c3a1c0936c48e6e807284e80b6ab522f8a6
Author: Pearl Dsilva <[email protected]>
AuthorDate: Fri Jul 10 15:17:49 2020 +0530

    project: Restrict project related operations to admins/ domain admins and 
project owners (#529)
    
    Fixes #485
---
 src/config/section/project.js | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/config/section/project.js b/src/config/section/project.js
index 56e0d46..ed9d0cf 100644
--- a/src/config/section/project.js
+++ b/src/config/section/project.js
@@ -82,7 +82,10 @@ export default {
       icon: 'edit',
       label: 'label.edit.project.details',
       dataView: true,
-      args: ['displaytext']
+      args: ['displaytext'],
+      show: (record, store) => {
+        return record.account === store.userInfo.account || ['Admin', 
'DomainAdmin'].includes(store.userInfo.roletype)
+      }
     },
     {
       api: 'activateProject',
@@ -90,7 +93,9 @@ export default {
       label: 'label.activate.project',
       message: 'message.activate.project',
       dataView: true,
-      show: (record) => { return record.state === 'Suspended' }
+      show: (record, store) => {
+        return (record.account === store.userInfo.account || ['Admin', 
'DomainAdmin'].includes(store.userInfo.roletype)) && record.state === 
'Suspended'
+      }
     },
     {
       api: 'suspendProject',
@@ -99,7 +104,9 @@ export default {
       message: 'message.suspend.project',
       docHelp: 'adminguide/projects.html#suspending-or-deleting-a-project',
       dataView: true,
-      show: (record) => { return record.state !== 'Suspended' }
+      show: (record, store) => {
+        return (record.account === store.userInfo.account || ['Admin', 
'DomainAdmin'].includes(store.userInfo.roletype)) && record.state !== 
'Suspended'
+      }
     },
     {
       api: 'addAccountToProject',
@@ -121,7 +128,8 @@ export default {
       label: 'label.delete.project',
       message: 'message.delete.project',
       docHelp: 'adminguide/projects.html#suspending-or-deleting-a-project',
-      dataView: true
+      dataView: true,
+      show: (record, store) => { return record.account === 
store.userInfo.account || ['Admin', 
'DomainAdmin'].includes(store.userInfo.roletype) }
     }
   ]
 }

Reply via email to