diff --git a/apps/red-ui/src/app/services/permissions.service.ts b/apps/red-ui/src/app/services/permissions.service.ts index c9afaf879..78cbb68cd 100644 --- a/apps/red-ui/src/app/services/permissions.service.ts +++ b/apps/red-ui/src/app/services/permissions.service.ts @@ -79,8 +79,11 @@ export class PermissionsService { if (precondition) { if ( - (fileStatus.isUnassigned || (fileStatus.isUnderReview && !this.isFileReviewer())) && - (this.isApprover() || isTheOnlyReviewer) + (fileStatus.isUnassigned || + (fileStatus.isUnderReview && !this.isFileReviewer(fileStatus))) && + (this.isApprover() || + isTheOnlyReviewer || + (this.isDossierReviewer() && fileStatus.isUnassigned)) ) { return true; } @@ -134,7 +137,7 @@ export class PermissionsService { return dossier?.approverIds.indexOf(user.id) >= 0; } - isReviewer(dossier = this._activeDossier, user = this.currentUser): boolean { + isDossierReviewer(dossier = this._activeDossier, user = this.currentUser): boolean { return this.isDossierMember(dossier, user) && !this.isApprover(dossier, user); }