Skip to content

Commit 0a44fec

Browse files
committed
ui: allow actions for other users of root admin
Fixes #10306 Signed-off-by: Abhishek Kumar <[email protected]>
1 parent cca8b2f commit 0a44fec

File tree

1 file changed

+21
-9
lines changed

1 file changed

+21
-9
lines changed

ui/src/config/section/user.js

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,13 @@ export default {
105105
message: 'message.enable.user',
106106
dataView: true,
107107
show: (record, store) => {
108-
return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) && !record.isdefault &&
109-
!(record.domain === 'ROOT' && record.account === 'admin' && record.accounttype === 1) &&
110-
['disabled', 'locked'].includes(record.state)
108+
if (!['disabled', 'locked'].includes(record.state) || record.isdefault) {
109+
return false
110+
}
111+
if (![1, 4].includes(record.accounttype)) {
112+
return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype)
113+
}
114+
return store.userInfo.roletype === 'Admin'
111115
}
112116
},
113117
{
@@ -117,9 +121,13 @@ export default {
117121
message: 'message.disable.user',
118122
dataView: true,
119123
show: (record, store) => {
120-
return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) && !record.isdefault &&
121-
!(record.domain === 'ROOT' && record.account === 'admin' && record.accounttype === 1) &&
122-
record.state === 'enabled'
124+
if (record.state !== 'enabled' || record.isdefault) {
125+
return false
126+
}
127+
if (![1, 4].includes(record.accounttype)) {
128+
return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype)
129+
}
130+
return store.userInfo.roletype === 'Admin' && record.id !== store.userInfo.id
123131
}
124132
},
125133
{
@@ -131,9 +139,13 @@ export default {
131139
dataView: true,
132140
popup: true,
133141
show: (record, store) => {
134-
return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) && !record.isdefault &&
135-
!(record.domain === 'ROOT' && record.account === 'admin' && record.accounttype === 1) &&
136-
record.state === 'enabled'
142+
if (record.state !== 'enabled' || record.isdefault) {
143+
return false
144+
}
145+
if (![1, 4].includes(record.accounttype)) {
146+
return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype)
147+
}
148+
return store.userInfo.roletype === 'Admin' && record.id !== store.userInfo.id
137149
}
138150
},
139151
{

0 commit comments

Comments
 (0)