filter not active dossier templates when adding or editing a dossier

This commit is contained in:
Dan Percic 2022-01-27 17:59:38 +02:00
parent 5a7475a4c5
commit 7298a817c3
7 changed files with 19 additions and 5 deletions

View File

@ -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;

View File

@ -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()));
}

View File

@ -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;
});
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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';

View File

@ -0,0 +1,6 @@
export const DossierTemplateStatuses = {
ACTIVE: 'ACTIVE',
INCOMPLETE: 'INCOMPLETE',
} as const;
export type DossierTemplateStatus = keyof typeof DossierTemplateStatuses;