From 268a58eb79ef9393e415439b3d6d4c0a1a487db5 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Mon, 28 Feb 2022 16:43:18 +0200 Subject: [PATCH] fix RED-3486 --- apps/red-ui/src/app/services/permissions.service.ts | 9 +++++++-- apps/red-ui/src/app/services/user.service.ts | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/services/permissions.service.ts b/apps/red-ui/src/app/services/permissions.service.ts index 361e96385..17e62cfd1 100644 --- a/apps/red-ui/src/app/services/permissions.service.ts +++ b/apps/red-ui/src/app/services/permissions.service.ts @@ -2,12 +2,17 @@ import { Injectable } from '@angular/core'; import { UserService } from './user.service'; import { Dossier, File, IComment, IDossier } from '@red/domain'; import { DossiersService } from './entity-services/dossiers.service'; +import { FilesMapService } from '@services/entity-services/files-map.service'; @Injectable({ providedIn: 'root', }) export class PermissionsService { - constructor(private readonly _userService: UserService, private readonly _dossiersService: DossiersService) {} + constructor( + private readonly _userService: UserService, + private readonly _dossiersService: DossiersService, + private readonly _filesMapService: FilesMapService, + ) {} isReviewerOrApprover(file: File): boolean { const dossier = this._getDossier(file); @@ -15,7 +20,7 @@ export class PermissionsService { } displayReanalyseBtn(dossier: Dossier): boolean { - return this.isApprover(dossier); + return this.isApprover(dossier) && this._filesMapService.get(dossier.dossierId).length > 0; } canEditFileAttributes(file: File): boolean { diff --git a/apps/red-ui/src/app/services/user.service.ts b/apps/red-ui/src/app/services/user.service.ts index aca9a8b42..c610856bc 100644 --- a/apps/red-ui/src/app/services/user.service.ts +++ b/apps/red-ui/src/app/services/user.service.ts @@ -37,6 +37,10 @@ export class UserService extends EntitiesService { } async initialize(): Promise { + if (!this.currentUser) { + return; + } + if (this.currentUser.isUserAdmin || this.currentUser.isUser || this.currentUser.isAdmin) { await firstValueFrom(this.loadAll()); }