diff --git a/RELEASE.md b/RELEASE.md index 58fd0de3d..d72996891 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -45,7 +45,7 @@ ### Migliorie -- ... +- Il campo "data di inizio incarico" nel CT Incarico non è più obbligatorio se la tipologia di incarico è impostata come "Amministrativo" ### Novità diff --git a/src/components/ItaliaTheme/index.js b/src/components/ItaliaTheme/index.js index 8c40ff26f..3925ca8e7 100644 --- a/src/components/ItaliaTheme/index.js +++ b/src/components/ItaliaTheme/index.js @@ -24,6 +24,7 @@ export PDCViewWidget from 'design-comuni-plone-theme/components/ItaliaTheme/mana export DataGridWidget from 'design-comuni-plone-theme/components/ItaliaTheme/manage/Widgets/DataGridWidget.jsx'; export ContactsConfigWidget from 'design-comuni-plone-theme/components/ItaliaTheme/manage/Widgets/ContactsWidget/ContactsConfigWidget.jsx'; export ContactsConfigForm from 'design-comuni-plone-theme/components/ItaliaTheme/manage/Widgets/ContactsWidget/ContactsConfigForm.jsx'; +export ConditionallyRequiredDateWidget from 'design-comuni-plone-theme/components/ItaliaTheme/manage/Widgets/ConditionallyRequiredDateWidget.jsx'; /********* ICONS ********* */ export getItemIcon from 'design-comuni-plone-theme/components/ItaliaTheme/Icons/common/common'; diff --git a/src/components/ItaliaTheme/manage/Widgets/ConditionallyRequiredDateWidget.jsx b/src/components/ItaliaTheme/manage/Widgets/ConditionallyRequiredDateWidget.jsx new file mode 100644 index 000000000..6a6c99d78 --- /dev/null +++ b/src/components/ItaliaTheme/manage/Widgets/ConditionallyRequiredDateWidget.jsx @@ -0,0 +1,25 @@ +import React from 'react'; +import { DatetimeWidget } from '@plone/volto/config/Widgets'; + +const ConditionallyRequiredDateWidget = (props) => { + const { value, formData, onChange, id, title, required, ...rest } = props; + + // Check tipo di incarico in formData + const tipoIncarico = formData?.tipologia_incarico; + + // Make required only if tipo di incarico !== "amministrativo" + const isRequired = tipoIncarico !== 'amministrativo'; + + return ( + + ); +}; + +export default ConditionallyRequiredDateWidget; diff --git a/src/config/Widgets/widgets.js b/src/config/Widgets/widgets.js index 1c23c2b56..46b7fe1f9 100644 --- a/src/config/Widgets/widgets.js +++ b/src/config/Widgets/widgets.js @@ -26,6 +26,7 @@ import { DataGridWidget, ContactsConfigWidget, ContactsConfigForm, + ConditionallyRequiredDateWidget, } from 'design-comuni-plone-theme/components/ItaliaTheme'; import LuoghiCorrelatiEventoWidget from 'design-comuni-plone-theme/components/ItaliaTheme/manage/Widgets/LuoghiCorrelatiEventoWidget'; @@ -65,6 +66,9 @@ const getItaliaWidgets = (config) => { props, //per il content-type FaqFolder ) => , cookie_consent_configuration: MultilingualWidget(), + data_inizio_incarico: (props) => ( + + ), data_conclusione_incarico: (props) => ( ),