- fixed rejecting tf;

This commit is contained in:
Vitalii Kiiko
2025-06-30 16:48:24 +02:00
parent e2ce5c354b
commit d103ffa576
2 changed files with 34 additions and 106 deletions

View File

@@ -444,10 +444,10 @@ const DomandaEditInstructorManager = () => {
} }
}, [data, motivation]); }, [data, motivation]);
const doReject = useCallback(() => { const doReject = useCallback((newStatus) => {
if (data.evaluationVersion === 'V1') { if (data.evaluationVersion === 'V1') {
const submitData = { const submitData = {
applicationStatus: 'REJECTED', applicationStatus: newStatus,
criteria: klona(data.criteria), criteria: klona(data.criteria),
checklist: klona(data.checklist), checklist: klona(data.checklist),
files: klona(data.files), files: klona(data.files),
@@ -466,7 +466,7 @@ const DomandaEditInstructorManager = () => {
} else if (data.evaluationVersion === 'V2') { } else if (data.evaluationVersion === 'V2') {
const newFormValues = getTransformedSubmitData(); const newFormValues = getTransformedSubmitData();
const submitData = { const submitData = {
applicationStatus: 'REJECTED', applicationStatus: newStatus,
formFields: newFormValues, formFields: newFormValues,
files: klona(data.files), files: klona(data.files),
evaluationDocument: klona(data.evaluationDocument.map(o => ({ evaluationDocument: klona(data.evaluationDocument.map(o => ({
@@ -613,28 +613,26 @@ const DomandaEditInstructorManager = () => {
} }
const footerCompleteDialog = useCallback(() => { const footerCompleteDialog = useCallback(() => {
let onSubmitAction; let onSubmitAction;
let isDisabled = loading; let isDisabled = loading;
if (operationType === 'approve') { if (operationType === 'approve') {
onSubmitAction = doApprove; onSubmitAction = doApprove;
isDisabled = isDisabled || !amountAccepted || isEmpty(amountAccepted) || amountAccepted === 0; isDisabled = isDisabled || !amountAccepted || isEmpty(amountAccepted) || amountAccepted === 0;
} else if (operationType === 'tf_reject') { } else if (operationType === 'tf_reject') {
onSubmitAction = doRejectingStatus(); onSubmitAction = () => doReject('TECHNICAL_EVALUATION_REJECTED');
} else {
onSubmitAction = () => doReject('REJECTED');
}
} else { return <div>
onSubmitAction = doReject; <Button type="button" label={__('Annulla', 'gepafin')} onClick={hideCompleteDialog} outlined/>
<Button
} type="button"
disabled={isDisabled}
return <div> label={__('Invia', 'gepafin')} onClick={onSubmitAction}/>
<Button type="button" label={__('Annulla', 'gepafin')} onClick={hideCompleteDialog} outlined/> </div>
<Button }, [amountAccepted, data, motivation]);
type="button"
disabled={isDisabled}
label={__('Invia', 'gepafin')} onClick={onSubmitAction}/>
</div>
}, [amountAccepted, data, motivation]);
const initiateApproving = () => { const initiateApproving = () => {
setOperationType('approve'); setOperationType('approve');
@@ -647,7 +645,7 @@ const DomandaEditInstructorManager = () => {
setIsVisibleCompleteDialog(true); setIsVisibleCompleteDialog(true);
} }
const initiateTFRejecting = () => { const initiateTFRejecting = () => {
setOperationType('tf_reject'); setOperationType('tf_reject');
setIsVisibleCompleteDialog(true); setIsVisibleCompleteDialog(true);
} }
@@ -812,40 +810,6 @@ const DomandaEditInstructorManager = () => {
setData(newData); setData(newData);
}, [data]); }, [data]);
const handleRejectingSuccess = useCallback((response) => {
if (response.status === 'SUCCESS') {
if (toast.current) {
toast.current.show({
severity: 'success',
summary: 'Successo',
detail: 'Stato aggiornato a Rifiutato (Valutazione Tecnica)'
});
}
}
storeSet('unsetAsyncRequest');
}, []);
const handleRejectingError = useCallback((errorResponse) => {
if (toast.current) {
toast.current.show({
severity: 'error',
summary: 'Errore',
detail: 'Si è verificato un errore durante l\'aggiornamento dello stato.'
});
}
set404FromErrorResponse(errorResponse);
storeSet('unsetAsyncRequest');
}, []);
const doRejectingStatus = (assignedApplicationId) => {
storeSet('setAsyncRequest')
const body = {
applicationStatus: 'TECHNICAL_EVALUATION_REJECTED'
};
ApplicationEvaluationService.updateStatus(assignedApplicationId, body, handleRejectingSuccess, handleRejectingError);
}
const actionBtns = () => { const actionBtns = () => {
return <div className="appPageSection__actions"> return <div className="appPageSection__actions">
{['EVALUATION', 'SOCCORSO', 'CLOSE'].includes(data.applicationStatus) {['EVALUATION', 'SOCCORSO', 'CLOSE'].includes(data.applicationStatus)
@@ -947,7 +911,8 @@ const DomandaEditInstructorManager = () => {
<SoccorsoResendEmails <SoccorsoResendEmails
emailsData={emailSendResponse} emailsData={emailSendResponse}
setDataEmailsSoccorso={updateEmailSendResponses}/> setDataEmailsSoccorso={updateEmailSendResponses}/>
<EvaluationReAdmit id={data.applicationId} status={data.applicationStatus} statusUpdateFn={updateStatusOfAppl}/> <EvaluationReAdmit id={data.applicationId} status={data.applicationStatus}
statusUpdateFn={updateStatusOfAppl}/>
</div> </div>
} }
@@ -1315,7 +1280,7 @@ const DomandaEditInstructorManager = () => {
</tr>)} </tr>)}
<tr> <tr>
<td>{__('Punteggio:', 'gepafin')}</td> <td>{__('Punteggio:', 'gepafin')}</td>
<td>{new Intl.NumberFormat("it-IT").format( <td>{new Intl.NumberFormat('it-IT').format(
sum(data.criteria.map(o => o.score)) sum(data.criteria.map(o => o.score))
)}</td> )}</td>
<td> <td>

View File

@@ -443,10 +443,10 @@ const DomandaEditPreInstructor = () => {
} }
}, [data, motivation]); }, [data, motivation]);
const doReject = useCallback(() => { const doReject = useCallback((newStatus) => {
if (data.evaluationVersion === 'V1') { if (data.evaluationVersion === 'V1') {
const submitData = { const submitData = {
applicationStatus: 'REJECTED', applicationStatus: newStatus,
criteria: klona(data.criteria), criteria: klona(data.criteria),
checklist: klona(data.checklist), checklist: klona(data.checklist),
files: klona(data.files), files: klona(data.files),
@@ -465,7 +465,7 @@ const DomandaEditPreInstructor = () => {
} else if (data.evaluationVersion === 'V2') { } else if (data.evaluationVersion === 'V2') {
const newFormValues = getTransformedSubmitData(); const newFormValues = getTransformedSubmitData();
const submitData = { const submitData = {
applicationStatus: 'REJECTED', applicationStatus: newStatus,
formFields: newFormValues, formFields: newFormValues,
files: klona(data.files), files: klona(data.files),
evaluationDocument: klona(data.evaluationDocument.map(o => ({ evaluationDocument: klona(data.evaluationDocument.map(o => ({
@@ -619,11 +619,9 @@ const DomandaEditPreInstructor = () => {
onSubmitAction = doApprove; onSubmitAction = doApprove;
isDisabled = isDisabled || !amountAccepted || isEmpty(amountAccepted) || amountAccepted === 0; isDisabled = isDisabled || !amountAccepted || isEmpty(amountAccepted) || amountAccepted === 0;
} else if (operationType === 'tf_reject') { } else if (operationType === 'tf_reject') {
onSubmitAction = doRejectingStatus(); onSubmitAction = () => doReject('TECHNICAL_EVALUATION_REJECTED');
} else { } else {
onSubmitAction = doReject; onSubmitAction = () => doReject('REJECTED');
} }
return <div> return <div>
@@ -811,41 +809,6 @@ const DomandaEditPreInstructor = () => {
setData(newData); setData(newData);
}, [data]); }, [data]);
const handleRejectingSuccess = useCallback((response) => {
if (response.status === 'SUCCESS') {
if (toast.current) {
toast.current.show({
severity: 'success',
summary: 'Successo',
detail: 'Stato aggiornato a Rifiutato (Valutazione Tecnica)'
});
}
}
storeSet('unsetAsyncRequest');
}, []);
const handleRejectingError = useCallback((errorResponse) => {
if (toast.current) {
toast.current.show({
severity: 'error',
summary: 'Errore',
detail: 'Si è verificato un errore durante l\'aggiornamento dello stato.'
});
}
set404FromErrorResponse(errorResponse);
storeSet('unsetAsyncRequest');
}, []);
const doRejectingStatus = (assignedApplicationId) => {
storeSet('setAsyncRequest')
const body = {
applicationStatus: 'TECHNICAL_EVALUATION_REJECTED'
};
setLoading(true);
ApplicationEvaluationService.updateStatus(assignedApplicationId, body, handleRejectingSuccess, handleRejectingError);
}
const actionBtns = () => { const actionBtns = () => {
return <div className="appPageSection__actions"> return <div className="appPageSection__actions">
{['EVALUATION', 'SOCCORSO', 'CLOSE'].includes(data.applicationStatus) {['EVALUATION', 'SOCCORSO', 'CLOSE'].includes(data.applicationStatus)