diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts index 710b299c3..5f7925320 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts @@ -158,13 +158,13 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti } #getForm(): FormGroup { - const formFieldWithArchivedCheck = value => ({ value, disabled: !!this.dossier.archivedTime }); + const formFieldWithArchivedCheck = value => ({ value, disabled: !this.dossier.isActive }); return this._formBuilder.group({ dossierName: [formFieldWithArchivedCheck(this.dossier.dossierName), Validators.required], dossierTemplateId: [ { value: this.dossier.dossierTemplateId, - disabled: this._dossierStatsService.get(this.dossier.dossierId).hasFiles || !!this.dossier.archivedTime, + disabled: this._dossierStatsService.get(this.dossier.dossierId).hasFiles || !this.dossier.isActive, }, Validators.required, ], diff --git a/apps/red-ui/src/app/services/permissions.service.ts b/apps/red-ui/src/app/services/permissions.service.ts index f7193515a..21dbf29e6 100644 --- a/apps/red-ui/src/app/services/permissions.service.ts +++ b/apps/red-ui/src/app/services/permissions.service.ts @@ -23,11 +23,11 @@ export class PermissionsService { } displayReanalyseBtn(dossier: Dossier): boolean { - return !dossier.archivedTime && this.isApprover(dossier); + return dossier.isActive && this.isApprover(dossier); } canUploadFiles(dossier: Dossier): boolean { - return !dossier.archivedTime; + return dossier.isActive; } canEditFileAttributes(file: File): boolean { @@ -145,8 +145,8 @@ export class PermissionsService { return dossier.ownerId === this._userService.currentUser.id; } - canArchiveDossier(dossier: IDossier): boolean { - return !dossier.archivedTime && dossier.ownerId === this._userService.currentUser.id; + canArchiveDossier(dossier: Dossier): boolean { + return dossier.isActive && dossier.ownerId === this._userService.currentUser.id; } canEditDossier(dossier: Dossier, user = this._userService.currentUser): boolean { diff --git a/libs/red-domain/src/lib/dossiers/dossier.model.ts b/libs/red-domain/src/lib/dossiers/dossier.model.ts index e6304b02c..9acde0d21 100644 --- a/libs/red-domain/src/lib/dossiers/dossier.model.ts +++ b/libs/red-domain/src/lib/dossiers/dossier.model.ts @@ -1,6 +1,6 @@ import { IListable, List } from '@iqser/common-ui'; import { IDossier } from './dossier'; -import { DossierStatus } from './types'; +import { DossierStatus, DossierStatuses } from './types'; import { DownloadFileType } from '../shared'; export class Dossier implements IDossier, IListable { @@ -60,6 +60,10 @@ export class Dossier implements IDossier, IListable { return this.dossierName; } + get isActive(): boolean { + return this.status === DossierStatuses.ACTIVE; + } + hasMember(memberId: string): boolean { return !!this.memberIds && this.memberIds.indexOf(memberId) >= 0; } diff --git a/libs/red-domain/src/lib/dossiers/types.ts b/libs/red-domain/src/lib/dossiers/types.ts index 34a2be57c..f667390d4 100644 --- a/libs/red-domain/src/lib/dossiers/types.ts +++ b/libs/red-domain/src/lib/dossiers/types.ts @@ -1,6 +1,7 @@ export const DossierStatuses = { ACTIVE: 'ACTIVE', DELETED: 'DELETED', + ARCHIVED: 'ARCHIVED', } as const; export type DossierStatus = keyof typeof DossierStatuses;