From 0e3fde89d6388cfaadf9cb672f6d9225bcc76335 Mon Sep 17 00:00:00 2001 From: Quentin RIBAC <quentin.ribac@xelians.fr> Date: Wed, 20 Jul 2022 10:11:15 +0200 Subject: [PATCH] FIX #21204 TIME 0:15 indexing form: validate custom fields value on form load --- .../indexing-form/indexing-form.component.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/frontend/app/indexation/indexing-form/indexing-form.component.ts b/src/frontend/app/indexation/indexing-form/indexing-form.component.ts index 0a9c45deb82..a8433f4fad8 100755 --- a/src/frontend/app/indexation/indexing-form/indexing-form.component.ts +++ b/src/frontend/app/indexation/indexing-form/indexing-form.component.ts @@ -1016,11 +1016,22 @@ export class IndexingFormComponent implements OnInit { indexFound = this.availableCustomFields.map(avField => avField.identifier).indexOf(field.identifier); if (indexFound > -1) { + field.type = this.availableCustomFields[indexFound].type; field.label = this.availableCustomFields[indexFound].label; - field.default_value = !this.functions.empty(field.default_value) ? field.default_value : this.availableCustomFields[indexFound].default_value; field.values = this.availableCustomFields[indexFound].values; field.type = this.availableCustomFields[indexFound].type; field.SQLMode = this.availableCustomFields[indexFound].SQLMode; + if (['select', 'radio', 'checkbox'].indexOf(field.type) > -1) { + if (!this.functions.empty(field.default_value)) { + if (['select', 'radio'].indexOf(field.type) > -1) { + field.default_value = field.values.map((item: any) => item.id).find((elem: any) => elem.indexOf(field.default_value) > -1) ? field.default_value : null; + } else if (field.type === 'checkbox') { + field.default_value = field.values.map((item: any) => item.id).filter((element: any) => field.default_value.incoming(element)); + } + } + } else { + field.default_value = !this.functions.empty(field.default_value) ? field.default_value : this.availableCustomFields[indexFound].default_value; + } this.availableCustomFields.splice(indexFound, 1); fieldExist = true; } -- GitLab