From d20c750b8a3efaf87ec9cade4f18d8e536257118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Castillo?= Date: Wed, 13 May 2026 00:38:07 -0300 Subject: [PATCH 1/2] fix: remove add_ons field from sponsor page template popup, adjust normalize function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Tomás Castillo --- src/actions/sponsor-pages-actions.js | 11 +---- .../add-sponsor-page-template-popup/index.js | 45 ++----------------- .../tabs/sponsor-pages-tab/index.js | 1 - 3 files changed, 6 insertions(+), 51 deletions(-) diff --git a/src/actions/sponsor-pages-actions.js b/src/actions/sponsor-pages-actions.js index 7ce4ec5ba..7c143600f 100644 --- a/src/actions/sponsor-pages-actions.js +++ b/src/actions/sponsor-pages-actions.js @@ -285,17 +285,10 @@ export const deleteSponsorManagedPage = const normalizeSponsorManagedPage = (entity) => { const normalizedEntity = { show_page_ids: entity.pages, - allowed_add_ons: entity.add_ons + allowed_add_ons: [], + apply_to_all_add_ons: false }; - if (normalizedEntity.allowed_add_ons.includes("all")) { - normalizedEntity.apply_to_all_add_ons = true; - normalizedEntity.allowed_add_ons = []; - } else { - normalizedEntity.allowed_add_ons = entity.add_ons.map((a) => a.id); - normalizedEntity.apply_to_all_add_ons = false; - } - return normalizedEntity; }; diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.js index edd8ec3dc..315bae4e9 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.js @@ -31,18 +31,15 @@ import { } from "@mui/material"; import SwapVertIcon from "@mui/icons-material/SwapVert"; import CloseIcon from "@mui/icons-material/Close"; -import * as yup from "yup"; import { FormikProvider, useFormik } from "formik"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; import MenuButton from "../../../../../../../components/mui/menu-button"; -import { querySponsorAddons } from "../../../../../../../actions/sponsor-actions"; import { getShowPages } from "../../../../../../../actions/show-pages-actions"; import { DEFAULT_CURRENT_PAGE, FIVE_PER_PAGE } from "../../../../../../../utils/constants"; -import MuiFormikSelectGroup from "../../../../../../../components/mui/formik-inputs/mui-formik-select-group"; const AddSponsorPageTemplatePopup = ({ onClose, @@ -55,33 +52,17 @@ const AddSponsorPageTemplatePopup = ({ totalCount, term = "", getShowPages, - sponsor, - summitId + sponsor }) => { const [selectedPages, setSelectedPages] = useState([]); - const sponsorshipIds = sponsor.sponsorships.map((e) => e.id); - const sponsorshipTypeIds = sponsor.sponsorships.map((e) => e.type.id); const formik = useFormik({ - initialValues: { - add_ons: [] - }, - validationSchema: yup.object({ - add_ons: yup - .array() - .test( - "add_ons-required", - T.translate("validation.add_on_required"), - (value) => value?.includes("all") || value?.length > 0 - ) - }), - onSubmit: (values) => { - const { add_ons } = values; + initialValues: {}, + onSubmit: () => { const entity = { - pages: selectedPages, - add_ons + pages: selectedPages }; onSubmit(entity); }, @@ -214,24 +195,6 @@ const AddSponsorPageTemplatePopup = ({ autoComplete="off" > - - addon.sponsorship.type.id} - getGroupLabel={(addon) => addon.sponsorship.type.type.name} - noOptionsLabel={T.translate( - "edit_sponsor.pages_tab.no_add_ons" - )} - placeholder={T.translate( - "edit_sponsor.placeholders.select_add_ons" - )} - /> - setOpenPopup(null)} /> From 384fd8fe2febc0b72403229bd1083b4916a564f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Castillo?= Date: Wed, 13 May 2026 12:59:10 -0300 Subject: [PATCH 2/2] fix: revert changes on add_ons, keep validation changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Tomás Castillo --- src/actions/sponsor-pages-actions.js | 11 +++++- .../add-sponsor-page-template-popup/index.js | 39 +++++++++++++++++-- .../tabs/sponsor-pages-tab/index.js | 1 + 3 files changed, 45 insertions(+), 6 deletions(-) diff --git a/src/actions/sponsor-pages-actions.js b/src/actions/sponsor-pages-actions.js index 7c143600f..7ce4ec5ba 100644 --- a/src/actions/sponsor-pages-actions.js +++ b/src/actions/sponsor-pages-actions.js @@ -285,10 +285,17 @@ export const deleteSponsorManagedPage = const normalizeSponsorManagedPage = (entity) => { const normalizedEntity = { show_page_ids: entity.pages, - allowed_add_ons: [], - apply_to_all_add_ons: false + allowed_add_ons: entity.add_ons }; + if (normalizedEntity.allowed_add_ons.includes("all")) { + normalizedEntity.apply_to_all_add_ons = true; + normalizedEntity.allowed_add_ons = []; + } else { + normalizedEntity.allowed_add_ons = entity.add_ons.map((a) => a.id); + normalizedEntity.apply_to_all_add_ons = false; + } + return normalizedEntity; }; diff --git a/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.js b/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.js index 315bae4e9..9a72b86ab 100644 --- a/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.js +++ b/src/pages/sponsors/sponsor-page/tabs/sponsor-pages-tab/components/add-sponsor-page-template-popup/index.js @@ -31,15 +31,18 @@ import { } from "@mui/material"; import SwapVertIcon from "@mui/icons-material/SwapVert"; import CloseIcon from "@mui/icons-material/Close"; +import * as yup from "yup"; import { FormikProvider, useFormik } from "formik"; import MuiTable from "openstack-uicore-foundation/lib/components/mui/table"; import SearchInput from "openstack-uicore-foundation/lib/components/mui/search-input"; import MenuButton from "../../../../../../../components/mui/menu-button"; +import { querySponsorAddons } from "../../../../../../../actions/sponsor-actions"; import { getShowPages } from "../../../../../../../actions/show-pages-actions"; import { DEFAULT_CURRENT_PAGE, FIVE_PER_PAGE } from "../../../../../../../utils/constants"; +import MuiFormikSelectGroup from "../../../../../../../components/mui/formik-inputs/mui-formik-select-group"; const AddSponsorPageTemplatePopup = ({ onClose, @@ -52,17 +55,27 @@ const AddSponsorPageTemplatePopup = ({ totalCount, term = "", getShowPages, - sponsor + sponsor, + summitId }) => { const [selectedPages, setSelectedPages] = useState([]); + const sponsorshipIds = sponsor.sponsorships.map((e) => e.id); + const sponsorshipTypeIds = sponsor.sponsorships.map((e) => e.type.id); const formik = useFormik({ - initialValues: {}, - onSubmit: () => { + initialValues: { + add_ons: [] + }, + validationSchema: yup.object({ + add_ons: yup.array() + }), + onSubmit: (values) => { + const { add_ons } = values; const entity = { - pages: selectedPages + pages: selectedPages, + add_ons }; onSubmit(entity); }, @@ -195,6 +208,24 @@ const AddSponsorPageTemplatePopup = ({ autoComplete="off" > + + addon.sponsorship.type.id} + getGroupLabel={(addon) => addon.sponsorship.type.type.name} + noOptionsLabel={T.translate( + "edit_sponsor.pages_tab.no_add_ons" + )} + placeholder={T.translate( + "edit_sponsor.placeholders.select_add_ons" + )} + /> + setOpenPopup(null)} />