From f00fd4328ea49d9898151541cb1b5aa8f7ea3d58 Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Thu, 11 Sep 2025 11:45:10 +0200 Subject: [PATCH 1/3] - add is pec email setting; --- .../BuilderElementSettings/components/ElementSetting/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js b/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js index e6ea45e..0b7eb31 100644 --- a/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js +++ b/src/pages/BandoFormsEdit/components/BuilderElementSettings/components/ElementSetting/index.js @@ -35,6 +35,7 @@ const ElementSetting = ({ setting, changeFn, updateDataFn, bandoStatus }) => { step: __('Numero Decimali', 'gepafin'), isRequestedAmount: __('Importo richiesto', 'gepafin'), isDelegation: __('Delega', 'gepafin'), + isPecEmail: __('PEC email', 'gepafin'), options: __('Opzioni', 'gepafin'), mime: __('Tipo di file', 'gepafin'), documentCategories: __('Categorie dei documenti', 'gepafin'), @@ -130,7 +131,7 @@ const ElementSetting = ({ setting, changeFn, updateDataFn, bandoStatus }) => { name={setting.name} bandoStatus={bandoStatus} setDataFn={updateDataFn}/> - } else if (['isRequestedAmount', 'isDelegation', 'isChecklistItem'].includes(setting.name)) { + } else if (['isRequestedAmount', 'isDelegation', 'isPecEmail', 'isChecklistItem'].includes(setting.name)) { return changeFn(e.value, setting.name)}/> From 8048ab610cd223d7d722bb598d8eacfd8d19e6ef Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Thu, 11 Sep 2025 12:02:26 +0200 Subject: [PATCH 2/3] - fixed issue with numeric field; --- src/components/FormField/components/NumberInput/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/FormField/components/NumberInput/index.js b/src/components/FormField/components/NumberInput/index.js index 316d0a5..7ec9c46 100644 --- a/src/components/FormField/components/NumberInput/index.js +++ b/src/components/FormField/components/NumberInput/index.js @@ -4,6 +4,7 @@ import { Controller } from 'react-hook-form'; import { is, isEmpty } from 'ramda'; import { InputNumber } from 'primereact/inputnumber'; +import { isNaN } from 'mathjs'; const NumberInput = ({ fieldName, @@ -29,13 +30,13 @@ const NumberInput = ({ const input = ( field.onChange(e.value)} min={minAttr} max={maxAttr} From fc967d98f653cd77572d1ec900890c3e4eed1a6a Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Fri, 12 Sep 2025 10:06:33 +0200 Subject: [PATCH 3/3] - added exception for #23; --- src/assets/scss/components/appForm.scss | 4 + src/components/FormField/index.js | 2 +- src/helpers/validators.js | 13 +- src/pages/BandoApplication/index.js | 11 +- src/pages/BandoViewBeneficiario/index.js | 149 ++++++++++-------- src/pages/BandoViewPreInstructor/index.js | 117 +++++++------- .../index.js | 17 +- .../MyLatestSubmissionsTableAsync/index.js | 7 +- src/pages/DashboardBeneficiario/index.js | 14 +- .../DashboardBeneficiarioConfidi/index.js | 12 +- src/store/initial.js | 4 +- 11 files changed, 210 insertions(+), 140 deletions(-) diff --git a/src/assets/scss/components/appForm.scss b/src/assets/scss/components/appForm.scss index c6bef3f..cff35e4 100644 --- a/src/assets/scss/components/appForm.scss +++ b/src/assets/scss/components/appForm.scss @@ -154,6 +154,10 @@ } } } + + &.hidden { + display: none; + } } .appForm__field--required.appForm__field--required { diff --git a/src/components/FormField/index.js b/src/components/FormField/index.js index e9d7fbd..67f7ba9 100644 --- a/src/components/FormField/index.js +++ b/src/components/FormField/index.js @@ -42,7 +42,7 @@ const FormField = (props) => { const Comp = !isNil(fields[props.type]) ? fields[props.type] : null; return (!isNil(Comp) - ?
+ ?
: null diff --git a/src/helpers/validators.js b/src/helpers/validators.js index 388f318..dcf06c7 100644 --- a/src/helpers/validators.js +++ b/src/helpers/validators.js @@ -5,25 +5,22 @@ import CodiceFiscale from 'codice-fiscale-js'; export const isPIVA = (v) => { const regexp = new RegExp(/^[0-9]{11}$/); //console.log('isPIVA', !isEmpty(match(regexp, String(v)))) - return !isEmpty(match(regexp, String(v))); + return v && !isEmpty(v) && !isEmpty(match(regexp, String(v))); } // example: DSDDSD99P23B352G export const isCodiceFiscale = (v) => { - //const regexp = new RegExp(/^(?:[A-Z][AEIOU][AEIOUX]|[AEIOU]X{2}|[B-DF-HJ-NP-TV-Z]{2}[A-Z]){2}(?:[\dLMNP-V]{2}(?:[A-EHLMPR-T](?:[04LQ][1-9MNP-V]|[15MR][\dLMNP-V]|[26NS][0-8LMNP-U])|[DHPS][37PT][0L]|[ACELMRT][37PT][01LM]|[AC-EHLMPR-T][26NS][9V])|(?:[02468LNQSU][048LQU]|[13579MPRTV][26NS])B[26NS][9V])(?:[A-MZ][1-9MNP-V][\dLMNP-V]{2}|[A-M][0L](?:[1-9MNP-V][\dLMNP-V]|[0L][1-9MNP-V]))[A-Z]$/, 'i') - //return !isEmpty(match(regexp, v)); - //console.log('isCodiceFiscale', CodiceFiscale.check(v)) - return CodiceFiscale.check(v); + return v && !isEmpty(v) && CodiceFiscale.check(v); } export const isCAP = (v) => { const regexp = new RegExp(/^[0-9]{5}$/); - return !isEmpty(match(regexp, String(v))); + return v && !isEmpty(v) && !isEmpty(match(regexp, String(v))); } export const isIBAN = (v) => { const regexp = new RegExp(/^((NO)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{3}|(NO)[0-9A-Z]{13}|(BE)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}|(BE)[0-9A-Z]{14}|(DK|FO|FI|GL|NL)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{2}|(DK|FO|FI|GL|NL)[0-9A-Z]{16}|(MK|SI)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{3}|(MK|SI)[0-9A-Z]{17}|(BA|EE|KZ|LT|LU|AT)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}|(BA|EE|KZ|LT|LU|AT)[0-9A-Z]{18}|(HR|LI|LV|CH)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{1}|(HR|LI|LV|CH)[0-9A-Z]{19}|(BG|DE|IE|ME|RS|GB)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{2}|(BG|DE|IE|ME|RS|GB)[0-9A-Z]{20}|(GI|IL)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{3}|(GI|IL)[0-9A-Z]{21}|(AD|CZ|SA|RO|SK|ES|SE|TN)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}|(AD|CZ|SA|RO|SK|ES|SE|TN)[0-9A-Z]{22}|(PT)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{1}|(PT)[0-9A-Z]{23}|(IS|TR)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{2}|(IS|TR)[0-9A-Z]{24}|(FR|GR|IT|MC|SM)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{3}|(FR|GR|IT|MC|SM)[0-9A-Z]{25}|(AL|CY|HU|LB|PL)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}|(AL|CY|HU|LB|PL)[0-9A-Z]{26}|(MU)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{2}|(MU)[0-9A-Z]{28}|(MT)[0-9A-Z]{2}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{4}[ ][0-9A-Z]{3}|(MT)[0-9A-Z]{29})$/) - return !isEmpty(match(regexp, v)); + return v && !isEmpty(v) && !isEmpty(match(regexp, v)); } export const isEmail = (v) => { @@ -58,7 +55,7 @@ export const isUrl = (v) => { export const isMarcaDaBollo = (v) => { const regexp = new RegExp(/^[0-9]{14}$/); - return !isEmpty(match(regexp, String(v))); + return v && !isEmpty(match(regexp, String(v))); } export const minChecks = (v, num) => { diff --git a/src/pages/BandoApplication/index.js b/src/pages/BandoApplication/index.js index 2641399..b154dad 100644 --- a/src/pages/BandoApplication/index.js +++ b/src/pages/BandoApplication/index.js @@ -52,6 +52,7 @@ import { defaultMaxFileSize } from '../../configData'; const REACT_APP_HUB_ID = process.env.REACT_APP_HUB_ID; const BandoApplication = () => { + const antiMoneyLaundryCalls = useStoreValue('antiMoneyLaundryCalls'); const chosenCompanyId = useStoreValue('chosenCompanyId'); const { id } = useParams(); const [isExpired, setIsExpired] = useState(false); @@ -460,7 +461,7 @@ const BandoApplication = () => { type="button" disabled={'SUBMIT' === applicationStatus || isExpired} onClick={onValidate} - label={__('Convalidare', 'gepafin')} + label={__('Convalida per la firma', 'gepafin')} icon="pi pi-check" iconPos="right"/>
@@ -572,6 +573,7 @@ const BandoApplication = () => { formData.map((o) => { const variable = head(o.settings.filter(o => o.name === 'variable')); const formula = head(o.settings.filter(o => o.name === 'formula')); + const isRequestedAmount = head(o.settings.filter(o => o.name === 'isRequestedAmount')); if (formula && !isEmpty(formula.value)) { try { @@ -600,6 +602,10 @@ const BandoApplication = () => { ? pathOr(0, [o.id, 'total'], updatedFormValues) : pathOr(0, [o.id], updatedFormValues); } + + if (REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' && antiMoneyLaundryCalls.includes(bandoId) && isRequestedAmount && isRequestedAmount.value) { + updatedFormValues[o.id] = 100; + } }); if (!isEmpty(updatedFormValues) && !equal(updatedFormValues, formValues)) { @@ -713,6 +719,7 @@ const BandoApplication = () => { {'DRAFT' === applicationStatus /*|| 'AWAITING' === applicationStatus*/ ? formData.map(o => { + const isRequestedAmount = head(o.settings.filter(o => o.name === 'isRequestedAmount')); const label = head(o.settings.filter(o => o.name === 'label')); const text = head(o.settings.filter(o => o.name === 'text')); const placeholder = head(o.settings.filter(o => o.name === 'placeholder')); @@ -756,6 +763,7 @@ const BandoApplication = () => { /*if (o.name === 'fileselect') { console.log('options::', options) }*/ + const hideField = REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' && antiMoneyLaundryCalls.includes(bandoId) && isRequestedAmount && isRequestedAmount.value return ['paragraph'].includes(o.name) && text ?
@@ -765,6 +773,7 @@ const BandoApplication = () => {
: { const isAsyncRequest = useStoreValue('isAsyncRequest'); const chosenCompanyId = useStoreValue('chosenCompanyId'); + const antiMoneyLaundryCalls = useStoreValue('antiMoneyLaundryCalls'); const { id } = useParams(); const navigate = useNavigate(); const [data, setData] = useState({}); @@ -98,7 +99,7 @@ const BandoViewBeneficiario = () => { if (REACT_APP_HUB_ID === 't7jh5wfg9QXylNaTZkPoE') { return __('Presenta domanda', 'gepafin'); } else { - if(data.allowMultipleApplications){ + if (data.allowMultipleApplications) { return __('Presenta domanda', 'gepafin'); } else { if (applicationObj && applicationObj.id) { @@ -115,15 +116,15 @@ const BandoViewBeneficiario = () => { if (REACT_APP_HUB_ID === 't7jh5wfg9QXylNaTZkPoE') { return 'pi pi-save'; } else { - if(data.allowMultipleApplications){ + if (data.allowMultipleApplications) { return 'pi pi-save'; } else { - if (applicationObj && applicationObj.id) { + if (applicationObj && applicationObj.id) { return 'pi pi-arrow-right'; } else { return 'pi pi-save'; - } - } + } + } } } @@ -132,7 +133,7 @@ const BandoViewBeneficiario = () => { if (data.confidi) { if ((data.id === 6 && REACT_APP_HUB_ID === 'p4lk3bcx1RStqTaIVVbXs') || role === 'ROLE_CONFIDI') { - if(data.allowMultipleApplications){ + if (data.allowMultipleApplications) { const bandoId = getBandoId(); ApplicationService.createApplication(bandoId, {}, createApplCallback, errCreateApplCallback, [['companyId', chosenCompanyId]]); } else { @@ -151,7 +152,7 @@ const BandoViewBeneficiario = () => { const bandoId = getBandoId(); ApplicationService.createApplication(bandoId, {}, createApplCallback, errCreateApplCallback, [['companyId', chosenCompanyId]]); } else { - if(data.allowMultipleApplications){ + if (data.allowMultipleApplications) { const bandoId = getBandoId(); ApplicationService.createApplication(bandoId, {}, createApplCallback, errCreateApplCallback, [['companyId', chosenCompanyId]]); } else { @@ -161,7 +162,7 @@ const BandoViewBeneficiario = () => { const bandoId = getBandoId(); ApplicationService.createApplication(bandoId, {}, createApplCallback, errCreateApplCallback, [['companyId', chosenCompanyId]]); } - } + } } } } @@ -397,51 +398,57 @@ const BandoViewBeneficiario = () => { -
-
-

- {__('Importo totale', 'gepafin')} - {getNumberWithCurrency(data.amount)} -

-

- {__('Importo minimo per progetto', 'gepafin')} - {getNumberWithCurrency(data.amountMin)} -

-

- {__('Importo massimo per progetto', 'gepafin')} - {getNumberWithCurrency(data.amountMax)} -

-
+ {REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' && antiMoneyLaundryCalls.includes(data.id) + ? null + :
+
+

+ {__('Importo totale', 'gepafin')} + {getNumberWithCurrency(data.amount)} +

+

+ {__('Importo minimo per progetto', 'gepafin')} + {getNumberWithCurrency(data.amountMin)} +

+

+ {__('Importo massimo per progetto', 'gepafin')} + {getNumberWithCurrency(data.amountMax)} +

+
-
-

- {__('Data apertura', 'gepafin')} - {getDateFromISOstring(data.dates[0])} {data.startTime} -

-

- {__('Data chiusura', 'gepafin')} - {getDateFromISOstring(data.dates[1])} {data.endTime} -

-
-
+
+

+ {__('Data apertura', 'gepafin')} + {getDateFromISOstring(data.dates[0])} {data.startTime} +

+

+ {__('Data chiusura', 'gepafin')} + {getDateFromISOstring(data.dates[1])} {data.endTime} +

+
+
} -
-

{__('Descrizione dettagliata', 'gepafin')}

-
- {renderHtmlContent(data.descriptionLong)} -
-
+ {REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' && antiMoneyLaundryCalls.includes(data.id) + ? null + :
+

{__('Descrizione dettagliata', 'gepafin')}

+
+ {renderHtmlContent(data.descriptionLong)} +
+
} -
-

{__('Requisiti di Partecipazione', 'gepafin')}

-
-
    - {data.aimedTo.map((o, i) =>
  • - {o.value} -
  • )} -
-
-
+ {REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' && antiMoneyLaundryCalls.includes(data.id) + ? null + :
+

{__('Requisiti di Partecipazione', 'gepafin')}

+
+
    + {data.aimedTo.map((o, i) =>
  • + {o.value} +
  • )} +
+
+
}

{__('Documentazione richiesta', 'gepafin')}

@@ -461,18 +468,20 @@ const BandoViewBeneficiario = () => {
*/} -
-

{__('Allegati', 'gepafin')}

-
-
    - {data.docs - .filter(o => o.source === 'CALL' && o.type === 'DOCUMENT') - .map((o, i) =>
  • - {o.name} -
  • )} -
-
-
+ {REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' && antiMoneyLaundryCalls.includes(data.id) + ? null + :
+

{__('Allegati', 'gepafin')}

+
+
    + {data.docs + .filter(o => o.source === 'CALL' && o.type === 'DOCUMENT') + .map((o, i) =>
  • + {o.name} +
  • )} +
+
+
}

{__('FAQ', 'gepafin')}

@@ -534,7 +543,9 @@ const BandoViewBeneficiario = () => { : null}
-

{__('Download Documenti', 'gepafin')}

+ {REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' && antiMoneyLaundryCalls.includes(data.id) + ? null + :

{__('Download Documenti', 'gepafin')}

}
{/*
diff --git a/src/pages/BandoViewPreInstructor/index.js b/src/pages/BandoViewPreInstructor/index.js index 4038ce1..6a402a7 100644 --- a/src/pages/BandoViewPreInstructor/index.js +++ b/src/pages/BandoViewPreInstructor/index.js @@ -26,6 +26,7 @@ const REACT_APP_HUB_ID = process.env.REACT_APP_HUB_ID; const BandoViewPreInstructor = () => { const isAsyncRequest = useStoreValue('isAsyncRequest'); + const antiMoneyLaundryCalls = useStoreValue('antiMoneyLaundryCalls'); const { id } = useParams(); const [data, setData] = useState({}); const [newQuestion, setNewQuestion] = useState(''); @@ -97,51 +98,57 @@ const BandoViewPreInstructor = () => {
-
-
-

- {__('Importo totale', 'gepafin')} - {getNumberWithCurrency(data.amount)} -

-

- {__('Importo minimo per progetto', 'gepafin')} - {getNumberWithCurrency(data.amountMin)} -

-

- {__('Importo massimo per progetto', 'gepafin')} - {getNumberWithCurrency(data.amountMax)} -

-
+ {REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' && antiMoneyLaundryCalls.includes(data.id) + ? null + :
+
+

+ {__('Importo totale', 'gepafin')} + {getNumberWithCurrency(data.amount)} +

+

+ {__('Importo minimo per progetto', 'gepafin')} + {getNumberWithCurrency(data.amountMin)} +

+

+ {__('Importo massimo per progetto', 'gepafin')} + {getNumberWithCurrency(data.amountMax)} +

+
-
-

- {__('Data apertura', 'gepafin')} - {getDateFromISOstring(data.dates[0])} {data.startTime} -

-

- {__('Data chiusura', 'gepafin')} - {getDateFromISOstring(data.dates[1])} {data.endTime} -

-
-
+
+

+ {__('Data apertura', 'gepafin')} + {getDateFromISOstring(data.dates[0])} {data.startTime} +

+

+ {__('Data chiusura', 'gepafin')} + {getDateFromISOstring(data.dates[1])} {data.endTime} +

+
+
} -
-

{__('Descrizione dettagliata', 'gepafin')}

-
- {renderHtmlContent(data.descriptionLong)} -
-
+ {REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' && antiMoneyLaundryCalls.includes(data.id) + ? null + :
+

{__('Descrizione dettagliata', 'gepafin')}

+
+ {renderHtmlContent(data.descriptionLong)} +
+
} -
-

{__('Requisiti di Partecipazione', 'gepafin')}

-
-
    - {data.aimedTo.map((o, i) =>
  • - {o.value} -
  • )} -
-
-
+ {REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' && antiMoneyLaundryCalls.includes(data.id) + ? null + :
+

{__('Requisiti di Partecipazione', 'gepafin')}

+
+
    + {data.aimedTo.map((o, i) =>
  • + {o.value} +
  • )} +
+
+
}

{__('Documentazione richiesta', 'gepafin')}

@@ -161,18 +168,20 @@ const BandoViewPreInstructor = () => {
*/} -
-

{__('Allegati', 'gepafin')}

-
-
    - {data.docs - .filter(o => o.source === 'CALL' && o.type === 'DOCUMENT') - .map((o, i) =>
  • - {o.name} -
  • )} -
-
-
+ {REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' && antiMoneyLaundryCalls.includes(data.id) + ? null + :
+

{__('Allegati', 'gepafin')}

+
+
    + {data.docs + .filter(o => o.source === 'CALL' && o.type === 'DOCUMENT') + .map((o, i) =>
  • + {o.name} +
  • )} +
+
+
}

{__('FAQ', 'gepafin')}

diff --git a/src/pages/DashboardBeneficiario/components/LatestBandiBeneficiarioTableAsync/index.js b/src/pages/DashboardBeneficiario/components/LatestBandiBeneficiarioTableAsync/index.js index 4140930..ffecc40 100644 --- a/src/pages/DashboardBeneficiario/components/LatestBandiBeneficiarioTableAsync/index.js +++ b/src/pages/DashboardBeneficiario/components/LatestBandiBeneficiarioTableAsync/index.js @@ -30,10 +30,19 @@ import { Tag } from 'primereact/tag'; import { Calendar } from 'primereact/calendar'; import { isNil } from 'ramda'; -const LatestBandiBeneficiarioTableAsync = () => { +const REACT_APP_HUB_ID = process.env.REACT_APP_HUB_ID; + +const LatestBandiBeneficiarioTableAsync = ({ isAntiMoneylaundry = false }) => { const chosenCompanyId = useStoreValue('chosenCompanyId'); + const antiMoneyLaundryCalls = useStoreValue('antiMoneyLaundryCalls'); const [localAsyncRequest, setLocalAsyncRequest] = useState(false); - const [items, setItems] = useState(null); + const [items, setItems] = useState([]); + let filteredItems = items; + if (REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE') { + filteredItems = isAntiMoneylaundry + ? items.filter(o => antiMoneyLaundryCalls.includes(o.id)) + : items.filter(o => !antiMoneyLaundryCalls.includes(o.id)); + } const [totalRecordsNum, setTotalRecordsNum] = useState(0); const [lazyState, setLazyState] = useState({ first: 0, @@ -154,7 +163,7 @@ const LatestBandiBeneficiarioTableAsync = () => { -
} @@ -217,7 +226,7 @@ const LatestBandiBeneficiarioTableAsync = () => { return (
{ const chosenCompanyId = useStoreValue('chosenCompanyId'); const [localAsyncRequest, setLocalAsyncRequest] = useState(false); @@ -50,6 +52,9 @@ const MyLatestSubmissionsTableAsync = () => { status: { value: null, matchMode: 'equals' } } }); + const colBandoLabel = REACT_APP_HUB_ID === 't7jh5wfg9QXylNaTZkPoE' + ? __('Bando', 'gepafin') + : __('Bandi e modello AR1', 'gepafin'); const statuses = ['DRAFT', 'AWAITING', 'READY']; @@ -212,7 +217,7 @@ const MyLatestSubmissionsTableAsync = () => { onSort={onSort} sortField={lazyState.sortField} sortOrder={lazyState.sortOrder} onFilter={onFilter} filters={lazyState.filters} loading={localAsyncRequest} emptyMessage={translationStrings.emptyMessage}> - { const navigate = useNavigate(); @@ -102,7 +102,7 @@ const DashboardBeneficiario = () => { {__('Attenzione', 'gepafin')} {__('Per applicare ai bandi devi Registare un Azienda clicca', 'gepafin')} - {__('qua', 'gepafin')} + {__('qua', 'gepafin')}
@@ -127,6 +127,16 @@ const DashboardBeneficiario = () => {
+ {REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' + ? <> +
+

{__('Questionario Antiriciclaggio', 'gepafin')}

+ +
+
+ + : null} +
{__('Azioni rapide', 'gepafin')}
diff --git a/src/pages/DashboardBeneficiarioConfidi/index.js b/src/pages/DashboardBeneficiarioConfidi/index.js index ca5088d..8a16e11 100644 --- a/src/pages/DashboardBeneficiarioConfidi/index.js +++ b/src/pages/DashboardBeneficiarioConfidi/index.js @@ -16,7 +16,7 @@ import ErrorBoundary from '../../components/ErrorBoundary'; import MyLatestSubmissionsTableAsync from '../DashboardBeneficiario/components/MyLatestSubmissionsTableAsync'; import LatestBandiBeneficiarioTableAsync from '../DashboardBeneficiario/components/LatestBandiBeneficiarioTableAsync'; -//const REACT_APP_HUB_ID = process.env.REACT_APP_HUB_ID; +const REACT_APP_HUB_ID = process.env.REACT_APP_HUB_ID; const DashboardBeneficiarioConfidi = () => { const navigate = useNavigate(); @@ -127,6 +127,16 @@ const DashboardBeneficiarioConfidi = () => {
+ {REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' + ? <> +
+

{__('Questionario Antiriciclaggio', 'gepafin')}

+ +
+
+ + : null} +
{__('Azioni rapide', 'gepafin')}
diff --git a/src/store/initial.js b/src/store/initial.js index 100d6f6..a21570b 100644 --- a/src/store/initial.js +++ b/src/store/initial.js @@ -25,7 +25,9 @@ const initialStore = { // flow flowData: [], flowForms: [], - flowEdges: [] + flowEdges: [], + // misc + antiMoneyLaundryCalls: [23] } export default initialStore; \ No newline at end of file