diff --git a/src/helpers/getBandoLabel.js b/src/helpers/getBandoLabel.js index 43abcd3..c48db88 100644 --- a/src/helpers/getBandoLabel.js +++ b/src/helpers/getBandoLabel.js @@ -11,6 +11,9 @@ const getBandoLabel = (status) => { case 'PUBLISH': return __('Pubblicato', 'gepafin'); + case 'APPROVED': + return __('Approvato', 'gepafin'); + case 'READY_TO_PUBLISH': return __('Pronto', 'gepafin'); diff --git a/src/helpers/getBandoSeverity.js b/src/helpers/getBandoSeverity.js index 631cfe6..9cb6b89 100644 --- a/src/helpers/getBandoSeverity.js +++ b/src/helpers/getBandoSeverity.js @@ -9,6 +9,9 @@ const getBandoSeverity = (status) => { case 'PUBLISH': return 'success'; + case 'APPROVED': + return 'success'; + case 'READY_TO_PUBLISH': return 'info'; diff --git a/src/pages/DomandaBeneficiario/index.js b/src/pages/DomandaBeneficiario/index.js index d0a0d85..7c618e2 100644 --- a/src/pages/DomandaBeneficiario/index.js +++ b/src/pages/DomandaBeneficiario/index.js @@ -26,12 +26,14 @@ import { classNames } from 'primereact/utils'; import { Dialog } from 'primereact/dialog'; import { InputText } from 'primereact/inputtext'; import { InputTextarea } from 'primereact/inputtextarea'; +import ApplicationService from '../../service/application-service'; const DomandaBeneficiario = () => { const isAsyncRequest = useStore().main.isAsyncRequest(); const { id } = useParams(); const navigate = useNavigate(); const [data, setData] = useState({}); + const [dataAppl, setDataAppl] = useState({}); const [comms, setComms] = useState([]); const [isVisibleNewCommDialog, setIsVisibleNewCommDialog] = useState(false); const [newCommData, setNewCommData] = useState({}); @@ -43,14 +45,25 @@ const DomandaBeneficiario = () => { navigate(`/domande`); } + useEffect(() => { + const parsedId = parseInt(id); + const entityId = !isNaN(parsedId) ? parsedId : 0; + + AmendmentsService.getSoccorsoByApplId(entityId, getCallback, errGetCallback, [ + ['statuses', 'AWAITING'] + ]); + }, [id]); + const getCallback = (data) => { if (data.status === 'SUCCESS') { if (data.data.length) { setData(getFormattedData(data.data[0])); CommunicationService.getCommsByAmendmentId(data.data[0].id, getCommsCallback, errGetCommsCallback); + storeSet.main.unsetAsyncRequest(); + } else { + ApplicationService.getApplication(id, getApplCallback, errGetCallback) } } - storeSet.main.unsetAsyncRequest(); } const errGetCallback = (data) => { @@ -65,6 +78,13 @@ const DomandaBeneficiario = () => { storeSet.main.unsetAsyncRequest(); } + const getApplCallback = (data) => { + if (data.status === 'SUCCESS') { + setDataAppl(getFormattedData(data.data)); + } + storeSet.main.unsetAsyncRequest(); + } + const getCommsCallback = (data) => { if (data.status === 'SUCCESS') { setComms(data.data.commentsList.map(o => getFormattedCommsData(o))); @@ -85,6 +105,7 @@ const DomandaBeneficiario = () => { } const getFormattedData = (data) => { + data.submissionDate = is(String, data.submissionDate) ? new Date(data.submissionDate) : (data.submissionDate ? data.submissionDate : ''); data.startDate = is(String, data.startDate) ? new Date(data.startDate) : (data.startDate ? data.startDate : ''); data.expirationDate = is(String, data.expirationDate) ? new Date(data.expirationDate) : (data.expirationDate ? data.expirationDate : ''); return data; @@ -165,19 +186,17 @@ const DomandaBeneficiario = () => { setIsLoadingCommunication(false); } - useEffect(() => { - const parsedId = parseInt(id); - const entityId = !isNaN(parsedId) ? parsedId : 0; - - AmendmentsService.getSoccorsoByApplId(entityId, getCallback, errGetCallback, [ - ['statuses', 'AWAITING'] - ]); - }, [id]); - return (
-

{sprintf(__('Soccorso Istruttorio: richiesta integrazione documenti per domanda #%s', 'gepafin'), id)}

+ {data.id + ?

+ {sprintf(__('Soccorso Istruttorio: richiesta integrazione documenti per domanda #%s', 'gepafin'), id)} +

: null} + {dataAppl.id + ?

+ {sprintf(__('Dettagli: domanda #%s', 'gepafin'), dataAppl.id)} +

: null}
@@ -196,7 +215,8 @@ const DomandaBeneficiario = () => {
-
+ {data.id + ?

{__('ID domanda', 'gepafin')} {data.applicationId} @@ -221,9 +241,37 @@ const DomandaBeneficiario = () => { {__('Stato', 'gepafin')} {getBandoLabel(data.status)}

-
+
: null} + {dataAppl.id + ?
+

+ {__('ID domanda', 'gepafin')} + {dataAppl.id} +

+

+ {__('Bando', 'gepafin')} + {dataAppl.callTitle} +

+

+ {__('Azienda', 'gepafin')} + {dataAppl.companyName} +

+

+ {__('Inviato', 'gepafin')} + {getDateFromISOstring(dataAppl.submissionDate)} +

+

+ {__('Protocolo', 'gepafin')} + {dataAppl.protocolNumber} +

+

+ {__('Stato', 'gepafin')} + {getBandoLabel(dataAppl.status)} +

+
: null} -
+ {data.id + ?

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

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

    @@ -233,17 +281,19 @@ const DomandaBeneficiario = () => { {o.label} ) : null}
-
+
: null} -
+ {data.id + ?

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

{renderHtmlContent(data.note)}
-
+
: null} -
+ {data.id + ?

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

@@ -277,22 +327,24 @@ const DomandaBeneficiario = () => { type="button" label={__('Aggiungi Comunicazione', 'gepafin')} icon="pi pi-plus" iconPos="right"/> - + : null} -
+ {data.id + ?
{__('Attenzione', 'gepafin')} {__('Inviare la documentazione richiesta completa delle integrazioni esclusivamente via PEC. In caso contarrio l’integrazione non può essere ritenuta valida.', 'gepafin')} -
+
: null}
-
- - - {th.map(v => )} - - - - {item.fieldValue.map((o, i) => - {Object.values(o).map(v => )} - )} - -
{v}
{v}
; + switch (item.fieldName) { + case 'fileupload' : + content =
    + {item.fieldValue.map(o =>
  • + {o.filePath ? {o.name} : null} +
  • )} +
; + break; + case 'table' : + const th = Object.keys(item.fieldValue[0]); + content = + + + {th.map(v => )} + + + + {item.fieldValue.map((o, i) => + {Object.values(o).map(v => )} + )} + +
{v}
{v}
; + break; + default : + content = item.fieldValue; + break; } return
@@ -312,7 +317,7 @@ const DomandaEditPreInstructor = () => {

{__('Stato', 'gepafin')} - {getBandoLabel(data.applicationStatus)} + {getBandoLabel(data.status)}

@@ -333,6 +338,7 @@ const DomandaEditPreInstructor = () => {
{ onClick={() => displayCriterionData(o.id)} aria-label={__('Mostra', 'gepafin')}/> : null}
- } - const headerRemoveDialog = () => { return {__('Rimuovi azienda', 'gepafin')} } diff --git a/src/pages/SoccorsoAddPreInstructor/index.js b/src/pages/SoccorsoAddPreInstructor/index.js index 7348e09..a74bcbe 100644 --- a/src/pages/SoccorsoAddPreInstructor/index.js +++ b/src/pages/SoccorsoAddPreInstructor/index.js @@ -22,12 +22,14 @@ import { InputNumber } from 'primereact/inputnumber'; import BlockingOverlay from '../../components/BlockingOverlay'; import { Toast } from 'primereact/toast'; import { InputSwitch } from 'primereact/inputswitch'; +import ApplicationEvaluationService from '../../service/application-evaluation-service'; -const SoccorsoEditPreInstructor = () => { +const SoccorsoAddPreInstructor = () => { const isAsyncRequest = useStore().main.isAsyncRequest(); - const { id, evaluationId } = useParams(); + const { id } = useParams(); const navigate = useNavigate(); const [data, setData] = useState({}); + const [evaluationId, setEvaluationId] = useState(0); const [formData, setFormData] = useState({}); const toast = useRef(null); @@ -35,9 +37,25 @@ const SoccorsoEditPreInstructor = () => { navigate(`/domande/${id}`); } + useEffect(() => { + const parsed = parseInt(id) + const entityId = !isNaN(parsed) ? parsed : 0; + + storeSet.main.setAsyncRequest(); + ApplicationEvaluationService.getEvaluationByApplId(getCallbackEvaluation, errGetCallback, [ + ['applicationId', entityId] + ]); + }, [id]); + + const getCallbackEvaluation = (data) => { + if (data.status === 'SUCCESS') { + setEvaluationId(data.data.assignedApplicationId); + AmendmentsService.getSoccorsoByApplEvalId(data.data.assignedApplicationId, getCallback, errGetCallback) + } + } + const getCallback = (data) => { if (data.status === 'SUCCESS') { - console.log(data.data) setData(data.data); setFormData(getFormattedFormData(data.data)); } @@ -134,14 +152,6 @@ const SoccorsoEditPreInstructor = () => { storeSet.main.unsetAsyncRequest(); } - useEffect(() => { - const parsed = parseInt(evaluationId) - const entityId = !isNaN(parsed) ? parsed : 0; - - storeSet.main.setAsyncRequest(); - AmendmentsService.getSoccorsoByApplEvalId(entityId, getCallback, errGetCallback); - }, [evaluationId]); - return (
@@ -297,4 +307,4 @@ const SoccorsoEditPreInstructor = () => { } -export default SoccorsoEditPreInstructor; \ No newline at end of file +export default SoccorsoAddPreInstructor; \ No newline at end of file