diff --git a/src/components/ListTable/TableAction/LeftSide.vue b/src/components/ListTable/TableAction/LeftSide.vue index 369a81674..3bbf4317e 100644 --- a/src/components/ListTable/TableAction/LeftSide.vue +++ b/src/components/ListTable/TableAction/LeftSide.vue @@ -35,7 +35,9 @@ export default { default: false }, hasBulkDelete: defaultTrue, + canBulkDelete: defaultTrue, hasBulkUpdate: defaultFalse, + canBulkUpdate: defaultTrue, hasMoreActions: defaultTrue, tableUrl: { type: String, @@ -98,6 +100,7 @@ export default { const createCreateAction = Object.assign(defaultMoreCreate, this.moreCreates) defaultActions.push(createCreateAction) } + const vm = this return { defaultActions: defaultActions, defaultMoreActions: [ @@ -107,7 +110,7 @@ export default { has: this.hasBulkDelete, can({ selectedRows }) { // vm.$log.debug('Delete select rows length: ', selectedRows.length) - return selectedRows.length > 0 + return selectedRows.length > 0 && vm.canBulkDelete }, callback: this.defaultBulkDeleteCallback }, @@ -115,7 +118,9 @@ export default { title: this.$t('common.updateSelected'), name: 'actionUpdateSelected', has: this.hasBulkUpdate, - can: ({ selectedRows }) => selectedRows.length > 0, + can: ({ selectedRows }) => { + return selectedRows.length > 0 && vm.canBulkUpdate + }, callback: this.handleBulkUpdate } ] diff --git a/src/components/ListTable/index.vue b/src/components/ListTable/index.vue index 97369f53c..3d31ff8a5 100644 --- a/src/components/ListTable/index.vue +++ b/src/components/ListTable/index.vue @@ -64,8 +64,8 @@ export default { iHeaderActions() { const actions = { canCreate: { action: 'add', checkRoot: true }, - hasBulkDelete: { action: 'delete', checkRoot: false }, - hasBulkUpdate: { action: 'change', checkRoot: true }, + canBulkDelete: { action: 'delete', checkRoot: false }, + canBulkUpdate: { action: 'change', checkRoot: true }, hasImport: { action: 'add', checkRoot: true }, hasExport: { action: 'view', checkRoot: false } } diff --git a/src/views/users/Role/RoleDetail/RoleInfo.vue b/src/views/users/Role/RoleDetail/RoleInfo.vue index b4fbbeb0d..01e8fe661 100644 --- a/src/views/users/Role/RoleDetail/RoleInfo.vue +++ b/src/views/users/Role/RoleDetail/RoleInfo.vue @@ -81,8 +81,8 @@ export default { 'view_setting': ['settings.view_setting'], 'cloud_import': ['assets.view_asset'], 'terminal_node': ['settings.change_terminal'], - 'rbac.orgrolebinding': ['rbac.view_orgrole'], - 'rbac.systemrolebinding': ['rbac.view_systemrole'], + 'rbac.orgrolebinding': ['rbac.view_orgrole', 'users.view_user'], + 'rbac.systemrolebinding': ['rbac.view_systemrole', 'users.view_user'], 'tickets.change_ticketflow': ['users.view_user'], 'users.invite_user': [ 'users.match_user', 'rbac.add_orgrolebinding', 'rbac.change_orgrolebinding',