From 7228e670cd6d38a23df541926a4286c211fcfe72 Mon Sep 17 00:00:00 2001 From: Sergio Betanzos <sbetanzos@opennebula.io> Date: Mon, 8 Nov 2021 11:42:16 +0100 Subject: [PATCH] F #5604: Add provision type to providers (#1565) --- .../Forms/Provider/CreateForm/Steps/Template/index.js | 5 +++-- .../Forms/Provision/CreateForm/Steps/Provider/index.js | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/fireedge/src/client/components/Forms/Provider/CreateForm/Steps/Template/index.js b/src/fireedge/src/client/components/Forms/Provider/CreateForm/Steps/Template/index.js index 4196146d08..69a93f9095 100644 --- a/src/fireedge/src/client/components/Forms/Provider/CreateForm/Steps/Template/index.js +++ b/src/fireedge/src/client/components/Forms/Provider/CreateForm/Steps/Template/index.js @@ -26,7 +26,7 @@ import { useAuth } from 'client/features/Auth' import { useProvisionTemplate } from 'client/features/One' import { ListCards } from 'client/components/List' import { ProvisionTemplateCard } from 'client/components/Cards' -import { sanitize } from 'client/utils' +import { sanitize, deepmerge } from 'client/utils' import { isValidProviderTemplate, getProvisionTypeFromTemplate } from 'client/models/ProviderTemplate' import { T } from 'client/constants' @@ -107,6 +107,7 @@ const Content = ({ data, setFormData }) => { const handleClick = (template, isSelected) => { const { name, description } = template + const extraPlainInfo = { plain: { provision_type: provisionSelected } } // reset rest of form when change template setFormData({ @@ -116,7 +117,7 @@ const Content = ({ data, setFormData }) => { isSelected ? handleUnselect(name) - : handleSelect(template) + : handleSelect(deepmerge(template, extraPlainInfo)) } const RenderDescription = ({ description = '' }) => { diff --git a/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Provider/index.js b/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Provider/index.js index b6a1238db9..98574dea56 100644 --- a/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Provider/index.js +++ b/src/fireedge/src/client/components/Forms/Provision/CreateForm/Steps/Provider/index.js @@ -48,10 +48,11 @@ const Provider = () => ({ return providers.filter(provider => { const { TEMPLATE: { PLAIN = {} } } = provider ?? {} - const provisionType = [providerConfig[PLAIN.provider]?.provision_type ?? []].flat() - return PLAIN.provider === provisionTemplateSelected.provider && - provisionType.includes(templateProvisionType) + return ( + PLAIN.provider === provisionTemplateSelected.provider && + PLAIN.provision_type === templateProvisionType + ) }) }, [])