Commit 331be7d4 by Torkel Ödegaard

fix: add permission fixes

parent 776d8118
......@@ -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) => {
......
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;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment