diff --git a/client/web/admin/src/components/CRolePicker.vue b/client/web/admin/src/components/CRolePicker.vue index 6f8c7323d..1dcdcebdd 100644 --- a/client/web/admin/src/components/CRolePicker.vue +++ b/client/web/admin/src/components/CRolePicker.vue @@ -18,25 +18,32 @@ - - - {{ getRoleLabel(role) }} - - - - - + + + + {{ getRoleLabel(role) }} + + + + + + + diff --git a/client/web/admin/src/components/Role/CRoleEditorMembers.vue b/client/web/admin/src/components/Role/CRoleEditorMembers.vue index ce1248498..88672d068 100644 --- a/client/web/admin/src/components/Role/CRoleEditorMembers.vue +++ b/client/web/admin/src/components/Role/CRoleEditorMembers.vue @@ -14,44 +14,41 @@ - + - - - - - {{ getUserLabel(user) }} - - - - - - - + + + + {{ getUserLabel(user) }} + + + + + + + @@ -122,6 +119,7 @@ export default { }, mounted () { + this.fetchMembers() this.fetchUsers() }, @@ -161,15 +159,22 @@ export default { this.options.push(...removedMember) }, - fetchUsers () { - this.$SystemAPI.userList({ query: this.filter, limit: 25 }) + fetchMembers () { + const userID = this.members.map(({ userID }) => userID) + + if (userID.length === 0) { + return + } + + this.$SystemAPI.userList({ userID, deleted: 1, suspended: 1 }).then(({ set: users = [] }) => { + this.memberUsers = users + }) + }, + + fetchUsers (query = this.filter) { + this.$SystemAPI.userList({ query, limit: 25 }) .then(({ set: items = [] }) => { this.users = items - - if (!this.filter) { - const userIDs = this.members.map(({ userID }) => userID) - this.memberUsers = items.filter(({ userID }) => userIDs.includes(userID)) - } }) .catch(this.toastErrorHandler(this.$t('notification:user.fetch.error'))) },