diff --git a/apps/red-ui/src/app/modules/shared-dossiers/services/file-assign.service.ts b/apps/red-ui/src/app/modules/shared-dossiers/services/file-assign.service.ts index 54abd1f54..75f0c3fcb 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/services/file-assign.service.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/services/file-assign.service.ts @@ -81,6 +81,10 @@ export class FileAssignService { userId = eligibleUsersIds[0]; } + if (targetStatus === WorkflowFileStatuses.UNDER_APPROVAL && eligibleUsersIds.length === 1 && !userId) { + userId = eligibleUsersIds[0]; + } + if (userId) { return this.#makeAssignFileRequest(userId, targetStatus, [file]); } diff --git a/apps/red-ui/src/app/services/permissions.service.ts b/apps/red-ui/src/app/services/permissions.service.ts index 4f3d6ba9b..2a9e80fbf 100644 --- a/apps/red-ui/src/app/services/permissions.service.ts +++ b/apps/red-ui/src/app/services/permissions.service.ts @@ -508,7 +508,7 @@ export class PermissionsService { #canAssignApprover(file: File, dossier: Dossier) { const fileStatesForApprover = file.isUnderReview || file.isUnderApproval || file.isApproved; - return fileStatesForApprover && dossier.hasApprovers && this.isApprover(dossier); + return fileStatesForApprover && dossier.hasApprovers && this.isDossierMember(dossier); } #canUnassignUser(file: File, dossier: Dossier) { diff --git a/libs/red-domain/src/lib/dossiers/dossier.model.ts b/libs/red-domain/src/lib/dossiers/dossier.model.ts index a4efaf53a..859694fd2 100644 --- a/libs/red-domain/src/lib/dossiers/dossier.model.ts +++ b/libs/red-domain/src/lib/dossiers/dossier.model.ts @@ -51,7 +51,7 @@ export class Dossier implements IDossier, IListable { this.watermarkId = dossier.watermarkId; this.previewWatermarkId = dossier.previewWatermarkId; this.archivedTime = dossier.archivedTime; - this.hasApprovers = !!this.approverIds && this.approverIds.length > 1; + this.hasApprovers = !!this.approverIds && this.approverIds.length >= 1; this.isSoftDeleted = this.softDeletedTime !== null; this.isArchived = this.archivedTime !== null;