diff --git a/src/app/components/creator/_dialogs/comment-settings/comment-settings.component.ts b/src/app/components/creator/_dialogs/comment-settings/comment-settings.component.ts index d4be28893a76a1b140f19e7b1b879b779c2bd45a..89fdafae5776d67fce3bab45deac49923c4bea25 100644 --- a/src/app/components/creator/_dialogs/comment-settings/comment-settings.component.ts +++ b/src/app/components/creator/_dialogs/comment-settings/comment-settings.component.ts @@ -27,7 +27,7 @@ export class CommentSettingsComponent implements OnInit { editRoom: Room; settingThreshold = false; enableCommentModeration = false; - directSend: boolean; + directSend = true; constructor( public dialogRef: MatDialogRef<RoomCreatorPageComponent>, diff --git a/src/app/components/moderator/moderator-routing.module.ts b/src/app/components/moderator/moderator-routing.module.ts index 26ce84abb62b9e69602daa9d2190cf3c49e54b04..514639e63f86a777abfc01bf92f6a07ca85c044a 100644 --- a/src/app/components/moderator/moderator-routing.module.ts +++ b/src/app/components/moderator/moderator-routing.module.ts @@ -1,6 +1,7 @@ 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] } } ]; diff --git a/src/app/components/shared/room-list/room-list.component.ts b/src/app/components/shared/room-list/room-list.component.ts index 71a9bc0819f2d9fc97008f43f923f6f89a9dbfbd..e8a5839d6714daafbcfc8a92c225c62d4e25636d 100644 --- a/src/app/components/shared/room-list/room-list.component.ts +++ b/src/app/components/shared/room-list/room-list.component.ts @@ -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; } } diff --git a/src/app/models/user-roles.enum.ts b/src/app/models/user-roles.enum.ts index 9e62fc2a6428c8cfb47152928d6f1d53226a6f11..4984a1df0c540319131e54da3deb57f318219f30 100644 --- a/src/app/models/user-roles.enum.ts +++ b/src/app/models/user-roles.enum.ts @@ -1,6 +1,6 @@ export enum UserRole { PARTICIPANT, - CREATOR, EDITING_MODERATOR, - EXECUTIVE_MODERATOR + EXECUTIVE_MODERATOR, + CREATOR } diff --git a/src/app/services/http/authentication.service.ts b/src/app/services/http/authentication.service.ts index d0371552a52357b59a2d1a96eaaf0935ac49e01a..e0849d05e399754df68f4abd179aa8274c58012e 100644 --- a/src/app/services/http/authentication.service.ts +++ b/src/app/services/http/authentication.service.ts @@ -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 {