From 1a0a782a6cfe7c93f69777a3597adfe3cfc64203 Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Mon, 10 Feb 2025 15:00:00 +0100 Subject: [PATCH 1/4] - displaying soccorso in sttaus response received for beneficiary; --- src/pages/SoccorsoEditBeneficiario/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/SoccorsoEditBeneficiario/index.js b/src/pages/SoccorsoEditBeneficiario/index.js index 97b2f06..322e96a 100644 --- a/src/pages/SoccorsoEditBeneficiario/index.js +++ b/src/pages/SoccorsoEditBeneficiario/index.js @@ -17,6 +17,7 @@ import ApplicationService from '../../service/application-service'; import set404FromErrorResponse from '../../helpers/set404FromErrorResponse'; import getBandoLabel from '../../helpers/getBandoLabel'; import getDateFromISOstring from '../../helpers/getDateFromISOstring'; +import getEmailTemplateForSoccorso from '../../helpers/getStrippedHtmlBodyTags'; // components import { Button } from 'primereact/button'; @@ -26,7 +27,6 @@ import { Dialog } from 'primereact/dialog'; import FormField from '../../components/FormField'; import SoccorsoComunications from '../SoccorsoEditPreInstructor/components/SoccorsoComunications'; import { Editor } from 'primereact/editor'; -import getEmailTemplateForSoccorso from '../../helpers/getStrippedHtmlBodyTags'; const SoccorsoEditBeneficiario = () => { const isAsyncRequest = useStore().main.isAsyncRequest(); @@ -60,7 +60,7 @@ const SoccorsoEditBeneficiario = () => { const entityId = !isNaN(parsedId) ? parsedId : 0; AmendmentsService.getSoccorsoByApplId(entityId, getCallback, errGetCallback, [ - ['statuses', 'AWAITING'] + ['statuses', 'AWAITING,RESPONSE_RECEIVED'] ]); }, [id]); From 2656c9ba3e0e60df89bd18923222b5e27ab9b14a Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Wed, 12 Feb 2025 10:54:44 +0100 Subject: [PATCH 2/4] - updated list of classifications; --- src/configData.js | 144 +++++++++++++++++++++++++++++++++++++--------- 1 file changed, 117 insertions(+), 27 deletions(-) diff --git a/src/configData.js b/src/configData.js index c37fc50..dbed67c 100644 --- a/src/configData.js +++ b/src/configData.js @@ -50,105 +50,195 @@ export const dynamicDataOptions = { export const protocolType = [ { 'id': 1, - 'name': 'PROTOCOLLO IN ENTRATA' + 'name': 'PROTOCOLLO ENTRATA' }, { 'id': 2, - 'name': 'PROTOCOLLO IN USCITA' + 'name': 'PROTOCOLLO USCITA' }, { 'id': 3, 'name': 'DOCUMENTO INTERNO' }, - { + /*{ 'id': 1003, 'name': 'PROTOCOLLO INTERNO ' - } + }*/ ]; export const classificationType = [ { - 'idClassificazione': 1, + 'idClassificazione': 101, 'name': 'BILANCIO', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 2, + 'idClassificazione': 102, 'name': 'DICHHIARAZIONE DEI REDDITI', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 3, + 'idClassificazione': 103, 'name': 'SITUAZIONE CONTABILE', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 4, + 'idClassificazione': 104, 'name': 'PROSPETTO CONTO ECONOMICO', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 5, + 'idClassificazione': 105, 'name': 'CENTRALE DEI RISCHI', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 6, - 'name': 'RELAZIONE AZIENDALE ILLUSTRATIVA (MOD R1C, R1I, R1R, R1R A SECONDO DEI ', + 'idClassificazione': 106, + 'name': 'RELAZIONE AZIENDALE ILLUSTRATIVA (MOD R1C, R1I, R1R, R1S A SECONDA DEI SETTORI)', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 7, + 'idClassificazione': 107, 'name': 'DOCUMENTO IDENTITA\'', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 8, + 'idClassificazione': 108, 'name': 'MODELLO SP1', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 9, + 'idClassificazione': 109, 'name': 'PRIVACY', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 10, - 'name': 'DOCUMENTAZIONE CHE ATTESTA POSSIBILITA\' DI RILASCIARE GAA FAVORE', + 'idClassificazione': 110, + 'name': 'DOCUMENTAZIONE CHE ATTESTA POSSIBILITA\' DI RILASCIARE GARANZIE A FAVORE DI TERZI (ES. STATUTO, VISURA…)', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 11, + 'idClassificazione': 111, 'name': 'MODELLO AR1 D.LG 231/2007', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 12, - 'name': 'DOCUMENTO IDENTITA\' FIRMATORIO DICHHIARAZIONE SOSTITUTIVA', + 'idClassificazione': 112, + 'name': 'DOCUMENTO IDENTITA\' FIRMATARIO DICHIARAZIONE SOSTITUTIVA', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 13, - 'name': 'PRIVACY FIRMATARIO DICHHIARAZIONE SOSTITUTIVA', + 'idClassificazione': 113, + 'name': 'PRIVACY FIRMATARIO DICHIARAZIONE SOSTITUTIVA', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 14, + 'idClassificazione': 114, 'name': 'NULLAOSTA ANTIMAFIA', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 1, - 'name': 'LETTERA ESITO DELIBERA', - 'idTipoprotocollo': 2 + 'idClassificazione': 115, + 'name': 'VISURA CRIF', + 'idTipoprotocollo': 1 }, { - 'idClassificazione': 2, + 'idClassificazione': 116, + 'name': 'DURC', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 117, + 'name': 'STATO PATRIMONIALE E CONTO ECONOMICO', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 118, + 'name': 'DOCUMENTAZIONE FISCALE E CONTABILE', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 119, + 'name': 'BILANCIO GRUPPO IMPRESE', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 121, + 'name': 'DICHIARAZIONE DEI REDDITI GARANTI', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 122, + 'name': 'CENTRALE DEI RISCHI GARANTI', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 123, + 'name': 'BILANCIO / DICHIARAZIONE REDDITI GARANTI', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 125, + 'name': 'CONTRATTO FIRMATO DAL CLIENTE', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 126, + 'name': 'CONTRATTO FIRMATO DA GEPAFIN', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 128, + 'name': 'ALLEGATO 4', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 129, + 'name': 'ATTESTAZIONE PREGIUDIZIEVOLI', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 130, + 'name': 'DELIBERA BANCA', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 131, + 'name': 'ALTRO', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 202, 'name': 'LETTERA DI GARANZIA', 'idTipoprotocollo': 1 }, { - 'idClassificazione': 3, + 'idClassificazione': 127, + 'name': 'FATTURA', + 'idTipoprotocollo': 2 + }, + { + 'idClassificazione': 201, + 'name': 'LETTERA ESITO DELIBERA', + 'idTipoprotocollo': 2 + }, + { + 'idClassificazione': 204, + 'name': 'LETTERA TRASPARENZA', + 'idTipoprotocollo': 2 + }, + { + 'idClassificazione': 205, + 'name': 'CONTRATTO', + 'idTipoprotocollo': 1 + }, + { + 'idClassificazione': 124, + 'name': 'STAMPA PROPOSTA DELIBERA', + 'idTipoprotocollo': 3 + }, + { + 'idClassificazione': 203, 'name': 'GENERICO', 'idTipoprotocollo': 3 } From 2afd7a2362c2f2314f8e955107fe75858c81493e Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Wed, 12 Feb 2025 12:33:49 +0100 Subject: [PATCH 3/4] - enabled creation of appl for the same user/company after one being rejected; --- src/pages/BandoViewBeneficiario/index.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pages/BandoViewBeneficiario/index.js b/src/pages/BandoViewBeneficiario/index.js index f6bea38..ad984cf 100644 --- a/src/pages/BandoViewBeneficiario/index.js +++ b/src/pages/BandoViewBeneficiario/index.js @@ -1,7 +1,7 @@ import React, { useState, useEffect, useRef } from 'react'; import { __ } from '@wordpress/i18n'; import { useNavigate, useParams } from 'react-router-dom'; -import { is, isEmpty, isNil } from 'ramda'; +import { head, is, isEmpty, isNil } from 'ramda'; import 'quill/dist/quill.core.css'; // store @@ -244,7 +244,10 @@ const BandoViewBeneficiario = () => { const getApplCallback = (data) => { if (data.status === 'SUCCESS') { if (data.data.length) { - setApplicationObj(data.data[0]); + const nonRejectedAppl = head(data.data.filter(o => !['REJECTED'].includes(o.status))); + if (nonRejectedAppl) { + setApplicationObj(nonRejectedAppl); + } } } storeSet.main.unsetAsyncRequest(); From 2e1e6af88df5c9899a23e53d4c60cb4caa3f0329 Mon Sep 17 00:00:00 2001 From: Vitalii Kiiko Date: Thu, 13 Feb 2025 15:05:12 +0100 Subject: [PATCH 4/4] - issue 122 - issue 123; --- src/pages/BandoApplication/index.js | 13 +++++++++++++ src/pages/BandoViewBeneficiario/index.js | 17 +++++++++++------ src/pages/DomandaEditInstructorManager/index.js | 7 ++++--- src/pages/DomandaEditPreInstructor/index.js | 2 +- src/pages/SoccorsoEditBeneficiario/index.js | 4 ++-- 5 files changed, 31 insertions(+), 12 deletions(-) diff --git a/src/pages/BandoApplication/index.js b/src/pages/BandoApplication/index.js index 55db9b2..b168f58 100644 --- a/src/pages/BandoApplication/index.js +++ b/src/pages/BandoApplication/index.js @@ -62,6 +62,7 @@ const BandoApplication = () => { const [applicationStatus, setApplicationStatus] = useState(''); const [activeStep, setActiveStep] = useState(1); const [signedPdfFile, setSignedPdfFile] = useState([]); + const [isRequestForApplData, setIsRequestForApplData] = useState(false); const isAsyncRequest = useStore().main.isAsyncRequest(); const toast = useRef(null); const formMsgs = useRef(null); @@ -390,10 +391,12 @@ const BandoApplication = () => { setFormInitialData(formDataInitial); } storeSet.main.unsetAsyncRequest(); + setIsRequestForApplData(false); } const errGetApplFormCallbacks = (data) => { storeSet.main.unsetAsyncRequest(); + setIsRequestForApplData(false); if (data.status === 'VALIDATION_ERROR') { if (toast.current) { toast.current.show({ @@ -568,6 +571,15 @@ const BandoApplication = () => { }, [formValues]); useEffect(() => { + if ('DRAFT' === applicationStatus && !isRequestForApplData) { + const applId = getApplicationId(); + + if (applId) { + storeSet.main.setAsyncRequest(); + ApplicationService.getApplicationForm(applId, getApplFormCallback, errGetApplFormCallbacks); + } + } + if ('SUBMIT' === applicationStatus) { setVisibleConfirmation(true); } @@ -595,6 +607,7 @@ const BandoApplication = () => { if (applId) { storeSet.main.setAsyncRequest(); + setIsRequestForApplData(true); ApplicationService.getApplicationForm(applId, getApplFormCallback, errGetApplFormCallbacks); } }, [id, chosenCompanyId]); diff --git a/src/pages/BandoViewBeneficiario/index.js b/src/pages/BandoViewBeneficiario/index.js index ab99cb8..97b6b8f 100644 --- a/src/pages/BandoViewBeneficiario/index.js +++ b/src/pages/BandoViewBeneficiario/index.js @@ -324,6 +324,7 @@ const BandoViewBeneficiario = () => { ]); if (REACT_APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE') { storeSet.main.setAsyncRequest(); + setApplicationObj(true); ApplicationService.getApplications(getApplCallback, errGetApplCallback, [ ['callId', bandoId], ['companyId', chosenCompanyId] @@ -339,6 +340,8 @@ const BandoViewBeneficiario = () => { } }, [data]); + console.log('applicationObj', applicationObj) + return (
{!isAsyncRequest && !isEmpty(data) @@ -524,12 +527,14 @@ const BandoViewBeneficiario = () => { onClick={scaricaModulistica} label={__('Scarica Bando Completo e Modulistica', 'gepafin')} icon="pi pi-download" iconPos="right"/> -
: null} {data.id - ?
+ ?

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

{__('Note e spiegazioni', 'gepafin')}

-
{getEmailTemplateForSoccorso(data.emailTemplate, data.note)}
+ {getEmailTemplateForSoccorso(data.emailTemplate, data.note)}
: null} {data.id