diff --git a/src/constants/placeFormRequiredFieldNames.js b/src/constants/placeFormRequiredFieldNames.js new file mode 100644 index 000000000..af33626d0 --- /dev/null +++ b/src/constants/placeFormRequiredFieldNames.js @@ -0,0 +1,7 @@ +export const placeFormRequiredFieldNames = { + PLACE_TYPE: 'PLACE_TYPE', + NAME: 'NAME', + NAME_EN: 'NAME_EN', + NAME_FR: 'NAME_FR', + STREET_ADDRESS: 'STREET_ADDRESS', +}; diff --git a/src/pages/Dashboard/CreateNewPlace/CreateNewPlace.jsx b/src/pages/Dashboard/CreateNewPlace/CreateNewPlace.jsx index f2530fa21..c004c18e6 100644 --- a/src/pages/Dashboard/CreateNewPlace/CreateNewPlace.jsx +++ b/src/pages/Dashboard/CreateNewPlace/CreateNewPlace.jsx @@ -64,6 +64,7 @@ import { useAddImageMutation } from '../../../services/image'; import { usePrompt } from '../../../hooks/usePrompt'; import { useAddPostalAddressMutation, useUpdatePostalAddressMutation } from '../../../services/postalAddress'; import PlacesAutocomplete, { geocodeByAddress, getLatLng } from 'react-places-autocomplete'; +import { placeFormRequiredFieldNames } from '../../../constants/placeFormRequiredFieldNames'; const { TextArea } = Input; @@ -111,7 +112,9 @@ function CreateNewPlace() { const placeId = searchParams.get('id'); const artsDataId = location?.state?.data?.id ?? null; const calendarContentLanguage = currentCalendarData?.contentLanguage; - + let requiredFields = currentCalendarData?.formSchema?.filter((form) => form?.formName === 'Place'); + requiredFields = requiredFields && requiredFields?.length > 0 && requiredFields[0]; + let requiredFieldNames = requiredFields ? requiredFields?.requiredfields?.map((field) => field?.fieldName) : []; const { currentData: placeData, isLoading: isPlaceLoading } = useGetPlaceQuery( { placeId: placeId, calendarId, sessionId: timestampRef }, { skip: placeId ? false : true }, @@ -841,7 +844,7 @@ function CreateNewPlace() { })} rules={[ { - required: true, + required: requiredFieldNames?.includes(placeFormRequiredFieldNames?.PLACE_TYPE), message: t('dashboard.places.createNew.addPlace.validations.placeTypeRequired'), }, ]}>