From 5271b59ef5aca4c13ad651066d83ba381eea7422 Mon Sep 17 00:00:00 2001 From: Muhammed Mustafa Date: Mon, 23 Oct 2023 17:26:39 +0530 Subject: [PATCH] fix: Added user management to org creator and user cannot delete themselves --- packages/nc-gui/components/account/UserList.vue | 14 +++++++++----- packages/nc-gui/lib/acl.ts | 2 ++ packages/nocodb/src/utils/acl.ts | 12 ++++++++++++ 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/packages/nc-gui/components/account/UserList.vue b/packages/nc-gui/components/account/UserList.vue index 4d29a0ed5e..195e876cc1 100644 --- a/packages/nc-gui/components/account/UserList.vue +++ b/packages/nc-gui/components/account/UserList.vue @@ -15,6 +15,8 @@ const { t } = useI18n() const { dashboardUrl } = useDashboard() +const { user: loggedInUser } = useGlobal() + const { copy } = useCopy() const users = ref([]) @@ -269,11 +271,13 @@ const openDeleteModal = (user: UserType) => {
{{ $t('activity.copyPasswordResetURL') }}
- - - - {{ $t('general.remove') }} {{ $t('objects.user') }} - + diff --git a/packages/nc-gui/lib/acl.ts b/packages/nc-gui/lib/acl.ts index 29db4185e6..ca3e38ea0c 100644 --- a/packages/nc-gui/lib/acl.ts +++ b/packages/nc-gui/lib/acl.ts @@ -20,6 +20,8 @@ const rolePermissions = { [OrgUserRoles.SUPER_ADMIN]: '*', [OrgUserRoles.CREATOR]: { include: { + workspaceSettings: true, + superAdminUserManagement: true, baseCreate: true, baseMove: true, baseDelete: true, diff --git a/packages/nocodb/src/utils/acl.ts b/packages/nocodb/src/utils/acl.ts index e9f44e8454..d570b8584f 100644 --- a/packages/nocodb/src/utils/acl.ts +++ b/packages/nocodb/src/utils/acl.ts @@ -23,7 +23,13 @@ const permissionScopes = { 'baseCreate', // User + 'userList', + 'userAdd', + 'userUpdate', + 'userDelete', 'passwordChange', + 'userInviteResend', + 'generateResetUrl', // Plugin 'isPluginActive', @@ -242,6 +248,12 @@ const rolePermissions: }, [OrgUserRoles.CREATOR]: { include: { + userList: true, + userAdd: true, + userUpdate: true, + userDelete: true, + generateResetUrl: true, + userInviteResend: true, upload: true, uploadViaURL: true, isPluginActive: true,