From 22e56339a1fcef8f195257558cb387ed39fdab89 Mon Sep 17 00:00:00 2001 From: Charles Bochet Date: Wed, 26 Mar 2025 23:40:44 +0100 Subject: [PATCH] Fix field options not updatable anymore (#11213) As per title --- .../hooks/before-update-one-field.hook.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/twenty-server/src/engine/metadata-modules/field-metadata/hooks/before-update-one-field.hook.ts b/packages/twenty-server/src/engine/metadata-modules/field-metadata/hooks/before-update-one-field.hook.ts index 545adcc4f..463a99bbd 100644 --- a/packages/twenty-server/src/engine/metadata-modules/field-metadata/hooks/before-update-one-field.hook.ts +++ b/packages/twenty-server/src/engine/metadata-modules/field-metadata/hooks/before-update-one-field.hook.ts @@ -75,7 +75,7 @@ export class BeforeUpdateOneField locale?: keyof typeof APP_LOCALES, ): UpdateOneInputType { const update: StandardFieldUpdate = {}; - const updatableFields = ['isActive', 'isLabelSyncedWithName']; + const updatableFields = ['isActive', 'isLabelSyncedWithName', 'options']; const overridableFields = ['label', 'icon', 'description']; const nonUpdatableFields = Object.keys(instance.update).filter( @@ -109,6 +109,7 @@ export class BeforeUpdateOneField this.handleActiveField(instance, update); this.handleLabelSyncedWithNameField(instance, update); this.handleStandardOverrides(instance, fieldMetadata, update, locale); + this.handleOptionsField(instance, update); return { id: instance.id, @@ -116,6 +117,17 @@ export class BeforeUpdateOneField }; } + private handleOptionsField( + instance: UpdateOneInputType, + update: StandardFieldUpdate, + ): void { + if (!isDefined(instance.update.options)) { + return; + } + + update.options = instance.update.options; + } + private handleActiveField( instance: UpdateOneInputType, update: StandardFieldUpdate,