From f5e927a50c480b860922ef5e0c843d7ae90509ff Mon Sep 17 00:00:00 2001 From: "sabrina.bongiovanni" Date: Fri, 26 Sep 2025 11:50:03 +0200 Subject: [PATCH 1/2] feat: made data_inizio_incarico conditional --- RELEASE.md | 2 +- src/components/ItaliaTheme/index.js | 1 + .../ConditionallyRequiredDateWidget.jsx | 27 +++++++++++++++++++ src/config/Widgets/widgets.js | 4 +++ 4 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/components/ItaliaTheme/manage/Widgets/ConditionallyRequiredDateWidget.jsx 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..4d4db7ca4 --- /dev/null +++ b/src/components/ItaliaTheme/manage/Widgets/ConditionallyRequiredDateWidget.jsx @@ -0,0 +1,27 @@ +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; + + console.log(props); + + // 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) => ( ), From 32561726656ec3b93d9b2749c5408619ef09cea0 Mon Sep 17 00:00:00 2001 From: "sabrina.bongiovanni" Date: Fri, 26 Sep 2025 11:51:11 +0200 Subject: [PATCH 2/2] chore: removed console.log --- .../manage/Widgets/ConditionallyRequiredDateWidget.jsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/components/ItaliaTheme/manage/Widgets/ConditionallyRequiredDateWidget.jsx b/src/components/ItaliaTheme/manage/Widgets/ConditionallyRequiredDateWidget.jsx index 4d4db7ca4..6a6c99d78 100644 --- a/src/components/ItaliaTheme/manage/Widgets/ConditionallyRequiredDateWidget.jsx +++ b/src/components/ItaliaTheme/manage/Widgets/ConditionallyRequiredDateWidget.jsx @@ -7,8 +7,6 @@ const ConditionallyRequiredDateWidget = (props) => { // Check tipo di incarico in formData const tipoIncarico = formData?.tipologia_incarico; - console.log(props); - // Make required only if tipo di incarico !== "amministrativo" const isRequired = tipoIncarico !== 'amministrativo';