From 4b03caff5c04ef88f1788c6cb23ddf7c66622b6c Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Tue, 25 Aug 2026 21:28:55 +0100 Subject: [PATCH] Refactor Object Creation and Update Logic in NewObjectForm and ObjectForm - Enhanced the object creation and update processes by integrating the stripNestedObjectProperties utility function, ensuring cleaner payloads are sent to the createObject and updateObject functions. - Updated the import statements in both NewObjectForm and ObjectForm to include the new utility function, improving data management and consistency across forms. --- src/components/Dashboard/common/NewObjectForm.jsx | 5 +++-- src/components/Dashboard/common/ObjectForm.jsx | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/components/Dashboard/common/NewObjectForm.jsx b/src/components/Dashboard/common/NewObjectForm.jsx index 66bac8f0..403a4eb5 100644 --- a/src/components/Dashboard/common/NewObjectForm.jsx +++ b/src/components/Dashboard/common/NewObjectForm.jsx @@ -5,7 +5,7 @@ import { useMessageContext } from '../context/MessageContext' import PropTypes from 'prop-types' import set from 'lodash/set' import { getModelByName } from '../../../database/ObjectModels' -import { mergeFormData } from '../utils/Utils' +import { mergeFormData, stripNestedObjectProperties } from '../utils/Utils' const buildObjectFromEntries = (entries = []) => { return entries.reduce((acc, entry) => { @@ -196,7 +196,8 @@ const NewObjectForm = ({ type, style, defaultValues = {}, children }) => { objectData, computedEntries ) - const newObject = await createObject(type, computedObjectData) + const payload = stripNestedObjectProperties(computedObjectData, model) + const newObject = await createObject(type, payload) showSuccess('Object created successfully') return newObject } catch (err) { diff --git a/src/components/Dashboard/common/ObjectForm.jsx b/src/components/Dashboard/common/ObjectForm.jsx index 084f49d6..45f0f715 100644 --- a/src/components/Dashboard/common/ObjectForm.jsx +++ b/src/components/Dashboard/common/ObjectForm.jsx @@ -16,7 +16,7 @@ import { getModelByName } from '../../../database/ObjectModels' import { useLocation, useNavigate } from 'react-router-dom' import PropTypes from 'prop-types' import { useActions } from '../context/ActionsContext' -import { mergeFormData } from '../utils/Utils' +import { mergeFormData, stripNestedObjectProperties } from '../utils/Utils' const getUserId = (user) => user?._id || user @@ -771,7 +771,8 @@ const ObjectForm = forwardRef( ...value } onStateChangeRef.current({ editLoading: true }) - const updatedObject = await updateObject(id, type, currentFormData) + const payload = stripNestedObjectProperties(currentFormData, model) + const updatedObject = await updateObject(id, type, payload) if (updatedObject.error) { console.log('THERE IS AN ERROR')