- updated implementation related to new rejection flow;
This commit is contained in:
@@ -48,6 +48,7 @@ import BlockingOverlay from '../../components/BlockingOverlay';
|
||||
import { classNames } from 'primereact/utils';
|
||||
import { InputTextarea } from 'primereact/inputtextarea';
|
||||
import { InputText } from 'primereact/inputtext';
|
||||
import { Dropdown } from 'primereact/dropdown';
|
||||
import ListOfFiles from '../DomandaEditPreInstructor/components/ListOfFiles';
|
||||
import RepeaterFields from '../DomandaEditPreInstructor/components/RepeaterFields';
|
||||
import ApplicationInfo from '../DomandaEditPreInstructor/components/ApplicationInfo';
|
||||
@@ -57,7 +58,7 @@ import SoccorsoResendEmails from '../SoccorsoEditPreInstructor/components/Soccor
|
||||
import EvaluationReAdmit from '../DomandaEditPreInstructor/components/EvaluationReAdmit';
|
||||
import { SplitButton } from 'primereact/splitbutton';
|
||||
import { FileUpload } from 'primereact/fileupload';
|
||||
import { defaultMaxFileSize, mimeTypes } from '../../configData';
|
||||
import { defaultMaxFileSize, mimeTypes, rejectionReasons } from '../../configData';
|
||||
import getFormatedFileSizeText from '../../helpers/getFormatedFileSizeText';
|
||||
|
||||
const APP_EVALUATION_FLOW_ID = process.env.REACT_APP_EVALUATION_FLOW_ID;
|
||||
@@ -377,9 +378,15 @@ const DomandaEditInstructorManager = () => {
|
||||
...cfgModifier
|
||||
};
|
||||
|
||||
const formDataToSend = new FormData();
|
||||
const jsonBlob = new Blob([JSON.stringify(submitData)], {
|
||||
type: 'application/json'
|
||||
});
|
||||
formDataToSend.append('evaluationRequest', jsonBlob);
|
||||
|
||||
ApplicationEvaluationService.updateEvaluation(
|
||||
data.assignedApplicationId,
|
||||
submitData,
|
||||
formDataToSend,
|
||||
(data) => updateCallback(data, afterUpdateCallback),
|
||||
errUpdateCallback
|
||||
);
|
||||
@@ -398,10 +405,16 @@ const DomandaEditInstructorManager = () => {
|
||||
...cfgModifier
|
||||
}
|
||||
|
||||
const formDataToSend = new FormData();
|
||||
const jsonBlob = new Blob([JSON.stringify(submitData)], {
|
||||
type: 'application/json'
|
||||
});
|
||||
formDataToSend.append('applicationEvaluationFormRequestBean', jsonBlob);
|
||||
|
||||
ApplicationEvaluationService.updateEvaluationV2(
|
||||
data.assignedApplicationId,
|
||||
formId,
|
||||
submitData,
|
||||
formDataToSend,
|
||||
(data) => updateCallback(data, afterUpdateCallback),
|
||||
errUpdateCallback
|
||||
);
|
||||
@@ -454,11 +467,17 @@ const DomandaEditInstructorManager = () => {
|
||||
amountAccepted: finalDialogData.amount
|
||||
}
|
||||
|
||||
const formDataToSend = new FormData();
|
||||
const jsonBlob = new Blob([JSON.stringify(submitData)], {
|
||||
type: 'application/json'
|
||||
});
|
||||
formDataToSend.append('evaluationRequest', jsonBlob);
|
||||
|
||||
setLoading(true);
|
||||
setIsVisibleCompleteDialog(false);
|
||||
ApplicationEvaluationService.updateEvaluation(
|
||||
data.assignedApplicationId,
|
||||
submitData,
|
||||
formDataToSend,
|
||||
approveRejectCallback,
|
||||
errApproveRejectCallback
|
||||
);
|
||||
@@ -479,12 +498,18 @@ const DomandaEditInstructorManager = () => {
|
||||
amountAccepted: finalDialogData.amount
|
||||
}
|
||||
|
||||
const formDataToSend = new FormData();
|
||||
const jsonBlob = new Blob([JSON.stringify(submitData)], {
|
||||
type: 'application/json'
|
||||
});
|
||||
formDataToSend.append('applicationEvaluationFormRequestBean', jsonBlob);
|
||||
|
||||
setLoading(true);
|
||||
setIsVisibleCompleteDialog(false);
|
||||
ApplicationEvaluationService.updateEvaluationV2(
|
||||
data.assignedApplicationId,
|
||||
formId,
|
||||
submitData,
|
||||
formDataToSend,
|
||||
approveRejectCallback,
|
||||
errApproveRejectCallback
|
||||
);
|
||||
@@ -499,14 +524,27 @@ const DomandaEditInstructorManager = () => {
|
||||
checklist: klona(data.checklist),
|
||||
files: klona(data.files),
|
||||
note: data.note,
|
||||
motivation: finalDialogData.motivation
|
||||
motivation: finalDialogData.motivation,
|
||||
rejectedReason: finalDialogData.subject
|
||||
}
|
||||
|
||||
const formDataToSend = new FormData();
|
||||
const jsonBlob = new Blob([JSON.stringify(submitData)], {
|
||||
type: 'application/json'
|
||||
});
|
||||
formDataToSend.append('evaluationRequest', jsonBlob);
|
||||
|
||||
if (finalDialogData.files && finalDialogData.files.length > 0) {
|
||||
finalDialogData.files.forEach((file) => {
|
||||
formDataToSend.append('rejectedDocuments', file);
|
||||
});
|
||||
}
|
||||
|
||||
setLoading(true);
|
||||
setIsVisibleCompleteDialog(false);
|
||||
ApplicationEvaluationService.updateEvaluation(
|
||||
data.assignedApplicationId,
|
||||
submitData,
|
||||
formDataToSend,
|
||||
approveRejectCallback,
|
||||
errApproveRejectCallback
|
||||
);
|
||||
@@ -523,7 +561,20 @@ const DomandaEditInstructorManager = () => {
|
||||
)),
|
||||
amendmentDetails: klona(data.amendmentDetails),
|
||||
note: data.note,
|
||||
motivation: finalDialogData.motivation
|
||||
motivation: finalDialogData.motivation,
|
||||
rejectedReason: finalDialogData.subject
|
||||
}
|
||||
|
||||
const formDataToSend = new FormData();
|
||||
const jsonBlob = new Blob([JSON.stringify(submitData)], {
|
||||
type: 'application/json'
|
||||
});
|
||||
formDataToSend.append('applicationEvaluationFormRequestBean', jsonBlob);
|
||||
|
||||
if (finalDialogData.files && finalDialogData.files.length > 0) {
|
||||
finalDialogData.files.forEach((file) => {
|
||||
formDataToSend.append('rejectedDocuments', file);
|
||||
});
|
||||
}
|
||||
|
||||
setLoading(true);
|
||||
@@ -531,7 +582,7 @@ const DomandaEditInstructorManager = () => {
|
||||
ApplicationEvaluationService.updateEvaluationV2(
|
||||
data.assignedApplicationId,
|
||||
formId,
|
||||
submitData,
|
||||
formDataToSend,
|
||||
approveRejectCallback,
|
||||
errApproveRejectCallback
|
||||
);
|
||||
@@ -956,7 +1007,7 @@ const DomandaEditInstructorManager = () => {
|
||||
? <Button
|
||||
type="button"
|
||||
disabled={!data.id || data.status === 'CLOSE'
|
||||
|| (data.applicationStatus !== 'SOCCORSO' && shouldDisableNewSoccorso())
|
||||
|| (!['SOCCORSO', 'AWAITING_TECHNICAL_EVALUATION'].includes(data.applicationStatus) && shouldDisableNewSoccorso())
|
||||
|| evaluationBlockedForUser(data)}
|
||||
onClick={doNewSoccorso}
|
||||
outlined
|
||||
@@ -1100,12 +1151,24 @@ const DomandaEditInstructorManager = () => {
|
||||
setData(newData);
|
||||
}, [data]);
|
||||
|
||||
const rejectionFiles = () => {
|
||||
return data.rejectedDocument && !isEmpty(data.rejectedDocument) && ['REJECTED'].includes(data.applicationStatus)
|
||||
? <ul>
|
||||
{data.rejectedDocument.map(o => <li key={o.id}>
|
||||
<a href={o.filePath}>{o.name}</a>
|
||||
</li>)}
|
||||
</ul> : null
|
||||
}
|
||||
|
||||
const motivationMsg = () => {
|
||||
return data.motivation && !isEmpty(data.motivation) && ['REJECTED', 'APPROVED'].includes(data.applicationStatus)
|
||||
? <div className="appPageSection__message info">
|
||||
<i className="pi pi-info-circle"></i>
|
||||
<span className="summary">{__('Motivazione:', 'gepafin')}</span>
|
||||
<span>{renderHtmlContent(data.motivation)}</span>
|
||||
<div style={{display: 'flex', flexDirection: 'column', gap: 10}}>
|
||||
<span>{renderHtmlContent(data.motivation)}</span>
|
||||
{rejectionFiles()}
|
||||
</div>
|
||||
</div> : null
|
||||
}
|
||||
|
||||
@@ -1525,12 +1588,21 @@ const DomandaEditInstructorManager = () => {
|
||||
invalid={!finalDialogData.amount || isEmpty(finalDialogData.amount) || finalDialogData.amount === 0}
|
||||
onChange={(e) => updateFinalDialogData(e.value, 'amount')}/>
|
||||
</div> : null}
|
||||
{operationType === 'reject'
|
||||
{operationType === 'reject' && APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE'
|
||||
? <div className="appForm__field">
|
||||
<label className={classNames({ 'p-error': !finalDialogData.subject || isEmpty(finalDialogData.subject) })}>
|
||||
{__('Soggetto', 'gepafin')}
|
||||
{__('Oggetto', 'gepafin')}
|
||||
</label>
|
||||
<Dropdown
|
||||
value={null}
|
||||
options={rejectionReasons}
|
||||
optionLabel="label"
|
||||
placeholder={__('Seleziona motivo', 'gepafin')}
|
||||
onChange={(e) => updateFinalDialogData(e.value.text, 'subject')}
|
||||
style={{ marginBottom: '10px' }}
|
||||
/>
|
||||
<InputText
|
||||
name="subject"
|
||||
value={finalDialogData.subject}
|
||||
invalid={!finalDialogData.subject || isEmpty(finalDialogData.subject)}
|
||||
onChange={(e) => updateFinalDialogData(e.target.value, 'subject')}/>
|
||||
@@ -1550,7 +1622,7 @@ const DomandaEditInstructorManager = () => {
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
{operationType === 'reject'
|
||||
{operationType === 'reject' && APP_HUB_ID !== 't7jh5wfg9QXylNaTZkPoE'
|
||||
? <div className="appForm__field">
|
||||
<label>
|
||||
{__('Files', 'gepafin')}
|
||||
|
||||
Reference in New Issue
Block a user