diff --git a/apps/red-ui/src/app/modules/admin/translations/dossier-template-status-translations.ts b/apps/red-ui/src/app/modules/admin/translations/dossier-template-status-translations.ts index a9de7a50b..452ab8825 100644 --- a/apps/red-ui/src/app/modules/admin/translations/dossier-template-status-translations.ts +++ b/apps/red-ui/src/app/modules/admin/translations/dossier-template-status-translations.ts @@ -1,6 +1,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { DossierTemplateStatus } from '@red/domain'; -export const dossierTemplateStatusTranslations = { +export const dossierTemplateStatusTranslations: { readonly [key in DossierTemplateStatus]: string } = { ACTIVE: _('dossier-templates.status.active'), INCOMPLETE: _('dossier-templates.status.incomplete'), } as const; diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts index 121c9cda1..edc03ca0e 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts @@ -117,7 +117,7 @@ export class AddDossierDialogComponent extends BaseDialogComponent { .filter(r => { const notYetValid = !!r.validFrom && moment(r.validFrom).isAfter(moment()); const notValidAnymore = !!r.validTo && moment(r.validTo).add(1, 'd').isBefore(moment()); - return !(notYetValid || notValidAnymore); + return !(notYetValid || notValidAnymore) && r.isActive; }) .sort((t1, t2) => t1.name.toLowerCase().localeCompare(t2.name.toLowerCase())); } 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 c7eb44a96..4925acddb 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 @@ -153,7 +153,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti } const notYetValid = !!r.validFrom && moment(r.validFrom).isAfter(moment()); const notValidAnymore = !!r.validTo && moment(r.validTo).add(1, 'd').isBefore(moment()); - return !(notYetValid || notValidAnymore); + return !(notYetValid || notValidAnymore) && r.isActive; }); } } diff --git a/libs/red-domain/src/lib/dossier-templates/dossier-template.model.ts b/libs/red-domain/src/lib/dossier-templates/dossier-template.model.ts index d4b58a5ac..703853f39 100644 --- a/libs/red-domain/src/lib/dossier-templates/dossier-template.model.ts +++ b/libs/red-domain/src/lib/dossier-templates/dossier-template.model.ts @@ -1,6 +1,7 @@ import { IListable, List } from '@iqser/common-ui'; import { IDossierTemplate } from './dossier-template'; import { DownloadFileType } from '../shared'; +import { DossierTemplateStatus, DossierTemplateStatuses } from './types'; export class DossierTemplate implements IDossierTemplate, IListable { readonly createdBy: string; @@ -14,7 +15,7 @@ export class DossierTemplate implements IDossierTemplate, IListable { readonly reportTemplateIds?: List; readonly validFrom?: string; readonly validTo?: string; - readonly dossierTemplateStatus: string; + readonly dossierTemplateStatus: DossierTemplateStatus; constructor(dossierTemplate: IDossierTemplate) { this.createdBy = dossierTemplate.createdBy; @@ -31,6 +32,10 @@ export class DossierTemplate implements IDossierTemplate, IListable { this.dossierTemplateStatus = dossierTemplate.dossierTemplateStatus; } + get isActive(): boolean { + return this.dossierTemplateStatus === DossierTemplateStatuses.ACTIVE; + } + get id(): string { return this.dossierTemplateId; } diff --git a/libs/red-domain/src/lib/dossier-templates/dossier-template.ts b/libs/red-domain/src/lib/dossier-templates/dossier-template.ts index cf2b60574..f05c44084 100644 --- a/libs/red-domain/src/lib/dossier-templates/dossier-template.ts +++ b/libs/red-domain/src/lib/dossier-templates/dossier-template.ts @@ -1,5 +1,6 @@ import { List } from '@iqser/common-ui'; import { DownloadFileType } from '../shared'; +import { DossierTemplateStatus } from './types'; export interface IDossierTemplate { /** @@ -46,5 +47,5 @@ export interface IDossierTemplate { * Validity of end this dossierTemplate. */ readonly validTo?: string; - readonly dossierTemplateStatus: string; + readonly dossierTemplateStatus: DossierTemplateStatus; } diff --git a/libs/red-domain/src/lib/dossier-templates/index.ts b/libs/red-domain/src/lib/dossier-templates/index.ts index 1e5fdfe97..cf815ad22 100644 --- a/libs/red-domain/src/lib/dossier-templates/index.ts +++ b/libs/red-domain/src/lib/dossier-templates/index.ts @@ -2,3 +2,4 @@ export * from './dossier-template'; export * from './dossier-template.model'; export * from './dossier-template-stats'; export * from './dossier-template-stats.model'; +export * from './types'; diff --git a/libs/red-domain/src/lib/dossier-templates/types.ts b/libs/red-domain/src/lib/dossier-templates/types.ts new file mode 100644 index 000000000..cf3d4e675 --- /dev/null +++ b/libs/red-domain/src/lib/dossier-templates/types.ts @@ -0,0 +1,6 @@ +export const DossierTemplateStatuses = { + ACTIVE: 'ACTIVE', + INCOMPLETE: 'INCOMPLETE', +} as const; + +export type DossierTemplateStatus = keyof typeof DossierTemplateStatuses;