mirror of
https://github.com/grafana/grafana.git
synced 2026-09-05 04:40:13 -05:00
RBAC: Fix various ui issues for role picker (#53589)
* RolePicker: Check if user has permissions to delegate roles * UserRolePicker: Require both UserRolsAdd and UserRolesRemove for chaning roles * RolePicker: Add option for controlling if roles can be updated to RolePicker * UserOrgs: Dont try to fetch roles with wrong permission * RolePicker: make usage consistent with allowed actions * RolePickerMenu: Remove unused property * UserOrgs: Check for correct permission * UserRolePicker: add apply to controll apply behaviour instand of updateDisabled * UserOrgs: Check for correct permission when trying to update roles * RolePicker: Disable button if no roles or org role can be updated * RolePicker: Always close on update * RolePicker: Fix issue with updating immutable value * ServiceAccountsListItem: Pass correct value to RolePicker * ServiceAccountCreatePage: Pass correct value
This commit is contained in:
@@ -73,13 +73,8 @@ export class TeamList extends PureComponent<Props, State> {
|
||||
const canDelete = contextSrv.hasAccessInMetadata(AccessControlAction.ActionTeamsDelete, team, isTeamAdmin);
|
||||
const canReadTeam = contextSrv.hasAccessInMetadata(AccessControlAction.ActionTeamsRead, team, isTeamAdmin);
|
||||
const canSeeTeamRoles = contextSrv.hasAccessInMetadata(AccessControlAction.ActionTeamsRolesList, team, false);
|
||||
const canUpdateTeamRoles =
|
||||
contextSrv.hasAccess(AccessControlAction.ActionTeamsRolesAdd, false) ||
|
||||
contextSrv.hasAccess(AccessControlAction.ActionTeamsRolesRemove, false);
|
||||
const displayRolePicker =
|
||||
contextSrv.licensedAccessControlEnabled() &&
|
||||
contextSrv.hasPermission(AccessControlAction.ActionTeamsRolesList) &&
|
||||
contextSrv.hasPermission(AccessControlAction.ActionRolesList);
|
||||
contextSrv.licensedAccessControlEnabled() && contextSrv.hasPermission(AccessControlAction.ActionRolesList);
|
||||
|
||||
return (
|
||||
<tr key={team.id}>
|
||||
@@ -114,11 +109,7 @@ export class TeamList extends PureComponent<Props, State> {
|
||||
)}
|
||||
</td>
|
||||
{displayRolePicker && (
|
||||
<td>
|
||||
{canSeeTeamRoles && (
|
||||
<TeamRolePicker teamId={team.id} roleOptions={this.state.roleOptions} disabled={!canUpdateTeamRoles} />
|
||||
)}
|
||||
</td>
|
||||
<td>{canSeeTeamRoles && <TeamRolePicker teamId={team.id} roleOptions={this.state.roleOptions} />}</td>
|
||||
)}
|
||||
<td className="text-right">
|
||||
<DeleteButton
|
||||
|
||||
Reference in New Issue
Block a user