From 742b0c800a771022aeaeea01dc47d6fc618e304e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Castillo?= Date: Tue, 26 May 2026 17:21:03 -0300 Subject: [PATCH] fix: adjust validation and payload for sponsor settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Tomás Castillo --- src/actions/sponsor-settings-actions.js | 36 ++++++++++++------- .../forms/sponsor-settings-form/index.js | 5 ++- 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/src/actions/sponsor-settings-actions.js b/src/actions/sponsor-settings-actions.js index 102241c25..b944d8562 100644 --- a/src/actions/sponsor-settings-actions.js +++ b/src/actions/sponsor-settings-actions.js @@ -177,18 +177,30 @@ const normalizeEntityFprPurchaseAPI = (entity, summitTZ) => { normalizedEntity.wire_transfer_notification_email = wire_transfer_notification_email?.split(";") || []; - normalizedEntity.early_bird_end_date = moment - .tz(early_bird_end_date, summitTZ) - .unix(); - normalizedEntity.standard_price_end_date = moment - .tz(standard_price_end_date, summitTZ) - .unix(); - normalizedEntity.onsite_price_start_date = moment - .tz(onsite_price_start_date, summitTZ) - .unix(); - normalizedEntity.onsite_price_end_date = moment - .tz(onsite_price_end_date, summitTZ) - .unix(); + + if (early_bird_end_date) + normalizedEntity.early_bird_end_date = moment + .tz(early_bird_end_date, summitTZ) + .unix(); + else delete normalizedEntity.early_bird_end_date; + + if (standard_price_end_date) + normalizedEntity.standard_price_end_date = moment + .tz(standard_price_end_date, summitTZ) + .unix(); + else delete normalizedEntity.standard_price_end_date; + + if (onsite_price_start_date) + normalizedEntity.onsite_price_start_date = moment + .tz(onsite_price_start_date, summitTZ) + .unix(); + else delete normalizedEntity.onsite_price_start_date; + + if (onsite_price_end_date) + normalizedEntity.onsite_price_end_date = moment + .tz(onsite_price_end_date, summitTZ) + .unix(); + else delete normalizedEntity.onsite_price_end_date; return normalizedEntity; }; diff --git a/src/components/forms/sponsor-settings-form/index.js b/src/components/forms/sponsor-settings-form/index.js index e16735827..3dbfe3720 100644 --- a/src/components/forms/sponsor-settings-form/index.js +++ b/src/components/forms/sponsor-settings-form/index.js @@ -58,9 +58,10 @@ const SponsorSettingsForm = ({ settings, onSubmit, summitTZ }) => { const formik = useFormik({ initialValues: buildInitialValues(settings, summitTZ), validationSchema: yup.object({ - early_bird_end_date: yup.date(T.translate("validation.date")), + early_bird_end_date: yup.date(T.translate("validation.date")).nullable(), standard_price_end_date: yup .date(T.translate("validation.date")) + .nullable() .isAfterDateField( yup.ref("early_bird_end_date"), T.translate("validation.after", { @@ -70,6 +71,7 @@ const SponsorSettingsForm = ({ settings, onSubmit, summitTZ }) => { ), onsite_price_start_date: yup .date(T.translate("validation.date")) + .nullable() .isAfterDateField( yup.ref("standard_price_end_date"), T.translate("validation.after", { @@ -79,6 +81,7 @@ const SponsorSettingsForm = ({ settings, onSubmit, summitTZ }) => { ), onsite_price_end_date: yup .date(T.translate("validation.date")) + .nullable() .isAfterDateField( yup.ref("onsite_price_start_date"), T.translate("validation.after", {