- 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 {
} else { onSubmitAction = () => doReject('REJECTED');
onSubmitAction = doReject; }
} return <div>
<Button type="button" label={__('Annulla', 'gepafin')} onClick={hideCompleteDialog} outlined/>
return <div> <Button
<Button type="button" label={__('Annulla', 'gepafin')} onClick={hideCompleteDialog} outlined/> type="button"
<Button disabled={isDisabled}
type="button" label={__('Invia', 'gepafin')} onClick={onSubmitAction}/>
disabled={isDisabled} </div>
label={__('Invia', 'gepafin')} onClick={onSubmitAction}/> }, [amountAccepted, data, motivation]);
</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 => ({
@@ -618,12 +618,10 @@ const DomandaEditPreInstructor = () => {
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 {
} else { onSubmitAction = () => doReject('REJECTED');
onSubmitAction = doReject;
} }
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)