From 05eb03019328c88fd17a223000550854c8e75b7b Mon Sep 17 00:00:00 2001 From: Sina Kashipazha Date: Thu, 16 Feb 2023 14:55:48 +0100 Subject: [PATCH 1/2] Don't allow users to remove their account or user. --- ui/src/config/section/account.js | 5 +++++ ui/src/config/section/user.js | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/ui/src/config/section/account.js b/ui/src/config/section/account.js index 4de0cc6f5a40..838fc898c506 100644 --- a/ui/src/config/section/account.js +++ b/ui/src/config/section/account.js @@ -196,6 +196,11 @@ export default { message: 'message.delete.account', dataView: true, show: (record, store) => { + // Don't allow users to delete their account + if (record.id !== 'undefined' && store.userInfo.accountid === record.id) { + return false + } + return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) && !record.isdefault && !(record.domain === 'ROOT' && record.name === 'admin' && record.accounttype === 1) }, diff --git a/ui/src/config/section/user.js b/ui/src/config/section/user.js index 894e4a678ff4..77e67cd686f3 100644 --- a/ui/src/config/section/user.js +++ b/ui/src/config/section/user.js @@ -145,6 +145,11 @@ export default { message: 'message.delete.user', dataView: true, show: (record, store) => { + // Don't allow users to delete their account + if (record.id !== 'undefined' && store.userInfo.id === record.id) { + return false + } + return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) && !record.isdefault && !(record.domain === 'ROOT' && record.account === 'admin' && record.accounttype === 1) } From 66ae10557f9f236b6660150bd0884ffd882354e7 Mon Sep 17 00:00:00 2001 From: Sina Kashipazha Date: Fri, 24 Feb 2023 17:42:26 +0100 Subject: [PATCH 2/2] Apply suggestion. --- ui/src/config/section/account.js | 10 ++-------- ui/src/config/section/user.js | 10 ++-------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/ui/src/config/section/account.js b/ui/src/config/section/account.js index 838fc898c506..4e69da72b922 100644 --- a/ui/src/config/section/account.js +++ b/ui/src/config/section/account.js @@ -195,14 +195,8 @@ export default { label: 'label.action.delete.account', message: 'message.delete.account', dataView: true, - show: (record, store) => { - // Don't allow users to delete their account - if (record.id !== 'undefined' && store.userInfo.accountid === record.id) { - return false - } - - return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) && !record.isdefault && - !(record.domain === 'ROOT' && record.name === 'admin' && record.accounttype === 1) + disabled: (record, store) => { + return record.id !== 'undefined' && store.userInfo.accountid === record.id }, groupAction: true, popup: true, diff --git a/ui/src/config/section/user.js b/ui/src/config/section/user.js index 77e67cd686f3..c5a3325e8920 100644 --- a/ui/src/config/section/user.js +++ b/ui/src/config/section/user.js @@ -144,14 +144,8 @@ export default { label: 'label.action.delete.user', message: 'message.delete.user', dataView: true, - show: (record, store) => { - // Don't allow users to delete their account - if (record.id !== 'undefined' && store.userInfo.id === record.id) { - return false - } - - return ['Admin', 'DomainAdmin'].includes(store.userInfo.roletype) && !record.isdefault && - !(record.domain === 'ROOT' && record.account === 'admin' && record.accounttype === 1) + disabled: (record, store) => { + return record.id !== 'undefined' && store.userInfo.id === record.id } } ]