Skip to content
Snippets Groups Projects
Commit 3a4a031c authored by Tom Käsler's avatar Tom Käsler
Browse files

Fix Roles and access to moderator view

parent aa43296d
Branches
Tags
1 merge request!361Fix Roles and access to moderator view
Pipeline #29642 failed with stages
in 1 minute and 35 seconds
......@@ -27,7 +27,7 @@ export class CommentSettingsComponent implements OnInit {
editRoom: Room;
settingThreshold = false;
enableCommentModeration = false;
directSend: boolean;
directSend: boolean = true;
constructor(
public dialogRef: MatDialogRef<RoomCreatorPageComponent>,
......
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AuthenticationGuard } from '../../guards/authentication.guard';
import { UserRole } from '../../models/user-roles.enum';
import { RoomModeratorPageComponent } from './room-moderator-page/room-moderator-page.component';
import { CommentPageComponent } from '../shared/comment-page/comment-page.component';
import { ModeratorCommentPageComponent } from './moderator-comment-page/moderator-comment-page.component';
......@@ -10,16 +11,19 @@ const routes: Routes = [
path: 'room/:roomId',
component: RoomModeratorPageComponent,
canActivate: [AuthenticationGuard],
data: { roles: [UserRole.EXECUTIVE_MODERATOR] }
},
{
path: 'room/:roomId/comments',
component: CommentPageComponent,
canActivate: [AuthenticationGuard],
data: { roles: [UserRole.EXECUTIVE_MODERATOR] }
},
{
path: 'room/:roomId/moderator/comments',
component: ModeratorCommentPageComponent,
canActivate: [AuthenticationGuard],
data: { roles: [UserRole.EXECUTIVE_MODERATOR] }
}
];
......
......@@ -58,6 +58,7 @@ export class RoomListComponent implements OnInit {
this.moderatorService.get(room.id).subscribe((moderators: Moderator[]) => {
for (const m of moderators) {
if (m.userId === this.user.id) {
this.authenticationService.setAccess(room.shortId, UserRole.EXECUTIVE_MODERATOR);
roomWithRole.role = UserRole.EXECUTIVE_MODERATOR;
}
}
......
export enum UserRole {
PARTICIPANT,
CREATOR,
EDITING_MODERATOR,
EXECUTIVE_MODERATOR
EXECUTIVE_MODERATOR,
CREATOR
}
......@@ -48,6 +48,8 @@ export class AuthenticationService {
const roomId: string = cA.substring(2);
if (roleAsNumber === '1') {
role = UserRole.CREATOR;
} else if (roleAsNumber === '2') {
role = UserRole.EXECUTIVE_MODERATOR;
}
this.roomAccess.set(roomId, role);
}
......@@ -184,7 +186,7 @@ export class AuthenticationService {
hasAccess(roomId: string, role: UserRole): boolean {
const usersRole = this.roomAccess.get(roomId);
return (usersRole && (usersRole === role));
return (usersRole && (usersRole >= role));
}
setAccess(roomId: string, role: UserRole): void {
......
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