diff --git a/src/fireedge/src/client/containers/VmTemplates/Create.js b/src/fireedge/src/client/containers/VmTemplates/Create.js index 95d0eb6bc6..6fce2d5a1f 100644 --- a/src/fireedge/src/client/containers/VmTemplates/Create.js +++ b/src/fireedge/src/client/containers/VmTemplates/Create.js @@ -131,7 +131,9 @@ function CreateVmTemplate() { history.push(PATH.TEMPLATE.VMS.LIST) enqueueSuccess(T.SuccessVMTemplateUpdated, [templateId, NAME]) } - } catch {} + } catch (error) { + isDevelopment() && console.log('VM Template error: ', error) + } } return templateId && diff --git a/src/fireedge/src/client/utils/parser/vmTemplateFilter.js b/src/fireedge/src/client/utils/parser/vmTemplateFilter.js index d3f0ee8d4d..f64e10abc3 100644 --- a/src/fireedge/src/client/utils/parser/vmTemplateFilter.js +++ b/src/fireedge/src/client/utils/parser/vmTemplateFilter.js @@ -767,15 +767,18 @@ const transformActionsCommon = (template) => { }) } - // If template has RAW attribute if (template.RAW) { - // // Add type (hypervisor) on RAW data if exists data, if not, delete RAW section. - if (template.RAW?.DATA) template.RAW.TYPE = template.HYPERVISOR - else delete template.RAW + // Clone template.RAW to ensure its mutable + template.RAW = { ...template.RAW } - // ISSUE #6418: Raw data is in XML format, so it needs to be transform before sennding it to the API (otherwise the value of RAW.DATA will be treat as part of the XML template) - template?.RAW?.DATA && - (template.RAW.DATA = transformXmlString(template.RAW.DATA)) + if (template.RAW.DATA) { + // DATA exists, so we add TYPE and transform DATA + template.RAW.TYPE = template.HYPERVISOR + template.RAW.DATA = transformXmlString(template.RAW.DATA) + } else { + // DATA doesn't exist, remove RAW from template + delete template.RAW + } } }