diff --git a/src/pages/DomandaEditInstructorManager/index.js b/src/pages/DomandaEditInstructorManager/index.js index 45667d8..40247f4 100644 --- a/src/pages/DomandaEditInstructorManager/index.js +++ b/src/pages/DomandaEditInstructorManager/index.js @@ -5,7 +5,7 @@ import { is, isEmpty, isNil, sum, pathOr, head, pluck } from 'ramda'; import { klona } from 'klona'; import { wrap } from 'object-path-immutable'; import { useForm } from 'react-hook-form'; -import { evaluate } from 'mathjs'; +import { evaluate, isNaN } from 'mathjs'; import equal from 'fast-deep-equal'; // store @@ -81,7 +81,6 @@ const DomandaEditInstructorManager = () => { const [isVisiblePreTecEvalDialog, setIsVisiblePreTecEvalDialog] = useState(false); const [preTecEvalData, setPreTecEvalData] = useState({ amendmentDocumentType: '', - pec: '', amount: 0 }); const [allFilesRated, setAllFilesRated] = useState(false); @@ -780,18 +779,22 @@ const DomandaEditInstructorManager = () => { const hidePreTecEvalDialog = () => { setIsVisiblePreTecEvalDialog(false); - setPreTecEvalData({}); + setPreTecEvalData({ + amendmentDocumentType: '', + amount: 0 + }); } - const footerPreTecEvalDialog = () => { + const footerPreTecEvalDialog = useCallback(() => { + const amount = pathOr(null, ['amount'], preTecEvalData); return
- } + }, [preTecEvalData]); const doCreateAppointmentRequest = () => { if ( @@ -845,9 +848,14 @@ const DomandaEditInstructorManager = () => { storeSet('unsetAsyncRequest'); } + const startCreatingSpecialAmendment = () => { + doSaveDraft(doCreateSpecialAmendment); + } + const doCreateSpecialAmendment = useCallback(() => { if ( - !isEmpty(preTecEvalData.amount) && !isEmpty(preTecEvalData.pec) && !isEmpty(preTecEvalData.amendmentDocumentType) + !isEmpty(preTecEvalData.amount) && !isNil(preTecEvalData.amount) + && !isNaN(parseInt(preTecEvalData.amount)) && parseFloat(preTecEvalData.amount) >= 0 && !isEmpty(preTecEvalData.amendmentDocumentType) ) { storeSet('setAsyncRequest'); @@ -869,7 +877,10 @@ const DomandaEditInstructorManager = () => { } } setIsVisiblePreTecEvalDialog(false); - setPreTecEvalData({}); + setPreTecEvalData({ + amendmentDocumentType: '', + amount: 0 + }); storeSet('unsetAsyncRequest'); } @@ -882,7 +893,10 @@ const DomandaEditInstructorManager = () => { }); } setIsVisiblePreTecEvalDialog(false); - setPreTecEvalData({}); + setPreTecEvalData({ + amendmentDocumentType: '', + amount: 0 + }); set404FromErrorResponse(data); storeSet('unsetAsyncRequest'); } @@ -1015,11 +1029,16 @@ const DomandaEditInstructorManager = () => { : APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' ? { tecFinBtnRef.current.show(e); }} + tooltip={isAdmissible + ? __('Punteggio sufficiente per passaggio alla valutazione tecnica ed economico finanziaria', 'gepafin') + : __('Punteggio non sufficiente per passaggio alla valutazione tecnica ed economico finanziaria', 'gepafin')} + severity={isAdmissible ? 'success' : 'warning'} model={technicalEvalItems}/> : null} - - ))} -
- { - const newFiles = Array.from(e.target.files); - const existingFiles = preTecEvalData.files || []; - setPreTecEvalFieldValue('files', [...existingFiles, ...newFiles]); - e.target.value = ''; - }} - /> - -
- - */} diff --git a/src/pages/DomandaEditPreInstructor/index.js b/src/pages/DomandaEditPreInstructor/index.js index 58ebd03..2b2d2cc 100644 --- a/src/pages/DomandaEditPreInstructor/index.js +++ b/src/pages/DomandaEditPreInstructor/index.js @@ -5,7 +5,7 @@ import { is, isEmpty, isNil, sum, pathOr, head, pluck } from 'ramda'; import { klona } from 'klona'; import { wrap } from 'object-path-immutable'; import { useForm } from 'react-hook-form'; -import { evaluate } from 'mathjs'; +import { evaluate, isNaN } from 'mathjs'; import equal from 'fast-deep-equal'; // store @@ -81,7 +81,6 @@ const DomandaEditPreInstructor = () => { const [isVisiblePreTecEvalDialog, setIsVisiblePreTecEvalDialog] = useState(false); const [preTecEvalData, setPreTecEvalData] = useState({ amendmentDocumentType: '', - pec: '', amount: 0 }); const [allFilesRated, setAllFilesRated] = useState(false); @@ -780,18 +779,22 @@ const DomandaEditPreInstructor = () => { const hidePreTecEvalDialog = () => { setIsVisiblePreTecEvalDialog(false); - setPreTecEvalData({}); + setPreTecEvalData({ + amendmentDocumentType: '', + amount: 0 + }); } - const footerPreTecEvalDialog = () => { + const footerPreTecEvalDialog = useCallback(() => { + const amount = pathOr(null, ['amount'], preTecEvalData); return
- } + }, [preTecEvalData]); const doCreateAppointmentRequest = () => { if ( @@ -845,9 +848,14 @@ const DomandaEditPreInstructor = () => { storeSet('unsetAsyncRequest'); } + const startCreatingSpecialAmendment = () => { + doSaveDraft(doCreateSpecialAmendment); + } + const doCreateSpecialAmendment = useCallback(() => { if ( - !isEmpty(preTecEvalData.amount) && !isEmpty(preTecEvalData.pec) && !isEmpty(preTecEvalData.amendmentDocumentType) + !isEmpty(preTecEvalData.amount) && !isNil(preTecEvalData.amount) + && !isNaN(parseInt(preTecEvalData.amount)) && parseFloat(preTecEvalData.amount) >= 0 && !isEmpty(preTecEvalData.amendmentDocumentType) ) { storeSet('setAsyncRequest'); @@ -869,7 +877,10 @@ const DomandaEditPreInstructor = () => { } } setIsVisiblePreTecEvalDialog(false); - setPreTecEvalData({}); + setPreTecEvalData({ + amendmentDocumentType: '', + amount: 0 + }); storeSet('unsetAsyncRequest'); } @@ -882,7 +893,10 @@ const DomandaEditPreInstructor = () => { }); } setIsVisiblePreTecEvalDialog(false); - setPreTecEvalData({}); + setPreTecEvalData({ + amendmentDocumentType: '', + amount: 0 + }); set404FromErrorResponse(data); storeSet('unsetAsyncRequest'); } @@ -1015,11 +1029,16 @@ const DomandaEditPreInstructor = () => { : APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE' ? { tecFinBtnRef.current.show(e); }} + tooltip={isAdmissible + ? __('Punteggio sufficiente per passaggio alla valutazione tecnica ed economico finanziaria', 'gepafin') + : __('Punteggio non sufficiente per passaggio alla valutazione tecnica ed economico finanziaria', 'gepafin')} + severity={isAdmissible ? 'success' : 'warning'} model={technicalEvalItems}/> : null} - - ))} -
- { - const newFiles = Array.from(e.target.files); - const existingFiles = preTecEvalData.files || []; - setPreTecEvalFieldValue('files', [...existingFiles, ...newFiles]); - e.target.value = ''; - }} - /> - -
- - */}