mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
fix: add permission fixes
This commit is contained in:
parent
776d81189f
commit
331be7d47a
@ -26,28 +26,34 @@ class AddPermissions extends Component<Props, NewDashboardAclItem> {
|
||||
return {
|
||||
userId: 0,
|
||||
teamId: 0,
|
||||
role: OrgRole.Viewer,
|
||||
type: AclTarget.Team,
|
||||
permission: PermissionLevel.View,
|
||||
};
|
||||
}
|
||||
|
||||
onTypeChanged = evt => {
|
||||
this.setState({ type: evt.target.value as AclTarget });
|
||||
const type = evt.target.value as AclTarget;
|
||||
|
||||
switch (type) {
|
||||
case AclTarget.User:
|
||||
case AclTarget.Team:
|
||||
this.setState({ type: type, userId: 0, teamId: 0, role: undefined });
|
||||
break;
|
||||
case AclTarget.Editor:
|
||||
this.setState({ type: type, userId: 0, teamId: 0, role: OrgRole.Editor });
|
||||
break;
|
||||
case AclTarget.Viewer:
|
||||
this.setState({ type: type, userId: 0, teamId: 0, role: OrgRole.Viewer });
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
onUserSelected = (user: User) => {
|
||||
this.setState({
|
||||
userId: user ? user.id : 0,
|
||||
teamId: 0,
|
||||
});
|
||||
this.setState({ userId: user ? user.id : 0 });
|
||||
};
|
||||
|
||||
onTeamSelected = (team: Team) => {
|
||||
this.setState({
|
||||
userId: 0,
|
||||
teamId: team ? team.id : 0,
|
||||
});
|
||||
this.setState({ teamId: team ? team.id : 0 });
|
||||
};
|
||||
|
||||
onPermissionChanged = (permission: OptionWithDescription) => {
|
||||
|
24
public/app/features/dashboard/state/reducers.test.ts
Normal file
24
public/app/features/dashboard/state/reducers.test.ts
Normal file
@ -0,0 +1,24 @@
|
||||
import { Action, ActionTypes } from './actions';
|
||||
import { OrgRole, PermissionLevel, DashboardState } from 'app/types';
|
||||
import { inititalState, dashboardReducer } from './reducers';
|
||||
|
||||
describe('dashboard reducer', () => {
|
||||
describe('loadDashboardPermissions', () => {
|
||||
let state: DashboardState;
|
||||
|
||||
beforeEach(() => {
|
||||
const action: Action = {
|
||||
type: ActionTypes.LoadDashboardPermissions,
|
||||
payload: [
|
||||
{ id: 2, dashboardId: 1, role: OrgRole.Viewer, permission: PermissionLevel.View },
|
||||
{ id: 3, dashboardId: 1, role: OrgRole.Editor, permission: PermissionLevel.Edit },
|
||||
],
|
||||
};
|
||||
state = dashboardReducer(inititalState, action);
|
||||
});
|
||||
|
||||
it('should add permissions to state', async () => {
|
||||
expect(state.permissions.length).toBe(2);
|
||||
});
|
||||
});
|
||||
});
|
@ -50,7 +50,7 @@ export interface DashboardPermissionInfo {
|
||||
export interface NewDashboardAclItem {
|
||||
teamId: number;
|
||||
userId: number;
|
||||
role: OrgRole;
|
||||
role?: OrgRole;
|
||||
permission: PermissionLevel;
|
||||
type: AclTarget;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user