This is an automated email from the ASF dual-hosted git repository.
bstoyanov pushed a commit to branch 4.22
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.22 by this push:
new 9fc93af85fb ui: allow actions for other users of root admin (#11319)
9fc93af85fb is described below
commit 9fc93af85fb34b480065b975257992b1c5631fcd
Author: Abhishek Kumar <[email protected]>
AuthorDate: Wed Jan 28 19:36:04 2026 +0530
ui: allow actions for other users of root admin (#11319)
Fixes #10306
Signed-off-by: Abhishek Kumar <[email protected]>
---
ui/src/config/section/user.js | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/ui/src/config/section/user.js b/ui/src/config/section/user.js
index a18994fd6ce..65c1a17f760 100644
--- a/ui/src/config/section/user.js
+++ b/ui/src/config/section/user.js
@@ -105,9 +105,10 @@ export default {
message: 'message.enable.user',
dataView: true,
show: (record, store) => {
- return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) &&
!record.isdefault &&
- !(record.domain === 'ROOT' && record.account === 'admin' &&
record.accounttype === 1) &&
- ['disabled', 'locked'].includes(record.state)
+ if (!['disabled', 'locked'].includes(record.state) || record.isdefault
|| !['Admin', 'DomainAdmin'].includes(store.userInfo.roletype)) {
+ return false
+ }
+ return ![1, 4].includes(record.accounttype) || store.userInfo.roletype
=== 'Admin'
}
},
{
@@ -117,9 +118,10 @@ export default {
message: 'message.disable.user',
dataView: true,
show: (record, store) => {
- return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) &&
!record.isdefault &&
- !(record.domain === 'ROOT' && record.account === 'admin' &&
record.accounttype === 1) &&
- record.state === 'enabled'
+ if (record.state !== 'enabled' || record.isdefault || !['Admin',
'DomainAdmin'].includes(store.userInfo.roletype)) {
+ return false
+ }
+ return ![1, 4].includes(record.accounttype) ||
(store.userInfo.roletype === 'Admin' && record.id !== store.userInfo.id)
}
},
{
@@ -131,9 +133,10 @@ export default {
dataView: true,
popup: true,
show: (record, store) => {
- return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) &&
!record.isdefault &&
- !(record.domain === 'ROOT' && record.account === 'admin' &&
record.accounttype === 1) &&
- record.state === 'enabled'
+ if (record.state !== 'enabled' || record.isdefault || !['Admin',
'DomainAdmin'].includes(store.userInfo.roletype)) {
+ return false
+ }
+ return ![1, 4].includes(record.accounttype) ||
(store.userInfo.roletype === 'Admin' && record.id !== store.userInfo.id)
}
},
{