RED-10244: fix dossier with files not having template field disabled.

This commit is contained in:
Nicoleta Panaghiu 2024-10-28 18:21:03 +02:00
parent 40d6718e8e
commit 1f36b0be04

View File

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