From 1f36b0be043b2a783be34e4b4e728ecb1afef996 Mon Sep 17 00:00:00 2001 From: Nicoleta Panaghiu Date: Mon, 28 Oct 2024 18:21:03 +0200 Subject: [PATCH] RED-10244: fix dossier with files not having template field disabled. --- .../edit-dossier-general-info.component.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts index be407e73a..21706f19e 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts @@ -119,7 +119,11 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti private readonly _dossierStatesService: DossierStatesService, ) { effect(() => { - if (this.dossierStatusIdControl() !== this.initialFormValue.dossierStatusId && this.dossierStatusIdControl()) { + const shouldBeDisabled = this.#formValue.find(item => item.key === 'dossierTemplateId')?.disabled; + if ( + (this.dossierStatusIdControl() !== this.initialFormValue.dossierStatusId && this.dossierStatusIdControl()) || + shouldBeDisabled + ) { this.form.controls.dossierTemplateId.disable(); } else { this.form.controls.dossierTemplateId.enable(); @@ -180,7 +184,6 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti get #formValue(): { key: string; value: string; disabled: boolean }[] { const dossier = untracked(this.dossier); const formFieldWithArchivedCheck = value => ({ value, disabled: !dossier.isActive }); - const dossierStateId = untracked(this.dossierStatusIdControl); const states = untracked(this.states); return [ { @@ -190,7 +193,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti { key: 'dossierTemplateId', value: dossier.dossierTemplateId, - disabled: this._dossierStatsService.get(dossier.id).hasFiles || !dossier.isActive || !!dossierStateId, + disabled: this._dossierStatsService.get(dossier.id).hasFiles || !dossier.isActive, }, { key: 'dossierStatusId', @@ -209,7 +212,6 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti } ngOnInit() { - this.#patchFormValue(); if (isJustOne(this._dossierTemplatesService.all)) { this._loadingService.loadWhile( firstValueFrom(this._dossierTemplatesService.loadOnlyDossierTemplates()).then(async () => { @@ -220,7 +222,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti } else { this.#filterInvalidDossierTemplates(); } - + this.#patchFormValue(); if (!this.permissionsService.canEditDossier(this.dossier())) { this.form.disable(); }