diff --git a/src/views/users/Role/RoleDetail/RoleInfo.vue b/src/views/users/Role/RoleDetail/RoleInfo.vue index 88df1ace9..ed46a3c7f 100644 --- a/src/views/users/Role/RoleDetail/RoleInfo.vue +++ b/src/views/users/Role/RoleDetail/RoleInfo.vue @@ -108,7 +108,7 @@ export default { } }, mounted() { - this.setting.treeUrl = `/api/v1/rbac/roles/${this.object.id}/permissions/tree/` + this.setting.treeUrl = `/api/v1/rbac/${this.object.scope}-roles/${this.object.id}/permissions/tree/` setTimeout(() => { this.loading = false }) diff --git a/src/views/users/User/UserList.vue b/src/views/users/User/UserList.vue index bf3c9be6a..fa3de6c75 100644 --- a/src/views/users/User/UserList.vue +++ b/src/views/users/User/UserList.vue @@ -251,14 +251,16 @@ export default { }, methods: { setRolesFilter() { - const roleTypes = ['system-roles', 'org-roles'] + const roleTypes = [{ name: 'system-roles', perm: 'systemrole' }, { name: 'org-roles', perm: 'orgrole' }] for (const roleType of roleTypes) { - this.$axios.get(`/api/v1/rbac/${roleType}/`).then((roles) => { - const fieldName = roleType.replace('-', '_') - this.tableConfig.columnsMeta[fieldName].filters = roles.map(r => { - return { text: r['display_name'], value: r.id } + if (this.$hasPerm(`rbac.${roleType.perm}`)) { + this.$axios.get(`/api/v1/rbac/${roleType}/`).then((roles) => { + const fieldName = roleType.name.replace('-', '_') + this.tableConfig.columnsMeta[fieldName].filters = roles.map(r => { + return { text: r['display_name'], value: r.id } + }) }) - }) + } } }, removeUserFromOrg({ row, col, reload }) {