- updated page of adding ammendment;

- updated communication form;
This commit is contained in:
Vitalii Kiiko
2025-10-14 16:40:00 +02:00
parent 8ee3eed830
commit 61389f6c43
8 changed files with 89 additions and 6 deletions

View File

@@ -124,8 +124,24 @@ const SoccorsoAddInstructorManager = () => {
const doCreate = () => { const doCreate = () => {
storeSet('setAsyncRequest'); storeSet('setAsyncRequest');
const updatedFormData = { ...formData };
delete updatedFormData.files;
delete updatedFormData.formFields;
AmendmentsService.createSoccorso(formData, createCallback, errCreateCallback, [ const formDataToSend = new FormData();
const jsonBlob = new Blob([JSON.stringify(updatedFormData)], {
type: 'application/json'
});
formDataToSend.append('applicationAmendmentRequest', jsonBlob);
if (formData.files && formData.files.length > 0) {
formData.files.forEach((file) => {
formDataToSend.append('files', file);
});
}
AmendmentsService.createSoccorso(formDataToSend, createCallback, errCreateCallback, [
['applicationEvaluationId', evaluationId] ['applicationEvaluationId', evaluationId]
]); ]);
} }

View File

@@ -124,8 +124,24 @@ const SoccorsoAddPreInstructor = () => {
const doCreate = () => { const doCreate = () => {
storeSet('setAsyncRequest'); storeSet('setAsyncRequest');
const updatedFormData = { ...formData };
delete updatedFormData.files;
delete updatedFormData.formFields;
AmendmentsService.createSoccorso(formData, createCallback, errCreateCallback, [ const formDataToSend = new FormData();
const jsonBlob = new Blob([JSON.stringify(updatedFormData)], {
type: 'application/json'
});
formDataToSend.append('applicationAmendmentRequest', jsonBlob);
if (formData.files && formData.files.length > 0) {
formData.files.forEach((file) => {
formDataToSend.append('files', file);
});
}
AmendmentsService.createSoccorso(formDataToSend, createCallback, errCreateCallback, [
['applicationEvaluationId', evaluationId] ['applicationEvaluationId', evaluationId]
]); ]);
} }

View File

@@ -338,6 +338,16 @@ const SoccorsoEditBeneficiario = () => {
<SoccorsoComunications amendmentId={data.id} soccorsoStatus={data.status}/> <SoccorsoComunications amendmentId={data.id} soccorsoStatus={data.status}/>
</div> : null} </div> : null}
{data.id && data.amendmentInitialDocument && is(Array, data.amendmentInitialDocument)
? <div className="appPageSection">
<h3>{__('Documenti da PEC', 'gepafin')}</h3>
<ol className="appPageSection__list">
{data.amendmentInitialDocument.map((o, i) => <li key={o.fieldId}>
<a href={o.filePath} target="_blank" rel="noreferrer">{o.name}</a>
</li>)}
</ol>
</div> : null}
{data.id {data.id
? <div className="appPageSection"> ? <div className="appPageSection">
<h3>{__('Documenti richiesti', 'gepafin')}</h3> <h3>{__('Documenti richiesti', 'gepafin')}</h3>

View File

@@ -422,6 +422,17 @@ const SoccorsoEditInstructorManager = () => {
<div <div
className="appPageSection__emailTemplate">{getEmailTemplateForSoccorso(data.emailTemplate, data.note)}</div> className="appPageSection__emailTemplate">{getEmailTemplateForSoccorso(data.emailTemplate, data.note)}</div>
</div> </div>
{data.amendmentInitialDocument && is(Array, data.amendmentInitialDocument)
? <div className="appPageSection">
<h3>{__('Documenti da PEC', 'gepafin')}</h3>
<ol className="appPageSection__list">
{data.amendmentInitialDocument.map((o, i) => <li key={o.fieldId}>
<a href={o.filePath} target="_blank" rel="noreferrer">{o.name}</a>
</li>)}
</ol>
</div> : null}
<div className="appPageSection"> <div className="appPageSection">
<h3>{__('Documenti richiesti', 'gepafin')}</h3> <h3>{__('Documenti richiesti', 'gepafin')}</h3>
<ol className="appPageSection__list"> <ol className="appPageSection__list">

View File

@@ -24,6 +24,7 @@ import { Toast } from 'primereact/toast';
import { FileUpload } from 'primereact/fileupload'; import { FileUpload } from 'primereact/fileupload';
import { defaultMaxFileSize, mimeTypes } from '../../../../configData'; import { defaultMaxFileSize, mimeTypes } from '../../../../configData';
import { Editor } from 'primereact/editor'; import { Editor } from 'primereact/editor';
import renderHtmlContent from '../../../../helpers/renderHtmlContent';
const SoccorsoComunications = ({amendmentId, soccorsoStatus}) => { const SoccorsoComunications = ({amendmentId, soccorsoStatus}) => {
const [comms, setComms] = useState([]); const [comms, setComms] = useState([]);
@@ -104,7 +105,22 @@ const SoccorsoComunications = ({amendmentId, soccorsoStatus}) => {
const createCommunication = () => { const createCommunication = () => {
setIsLoadingCommunication(true); setIsLoadingCommunication(true);
CommunicationService.createCommunication(amendmentId, newCommData, createCommunicationCallback, errCreateCommunicationCallback); const updatedFormData = { ...newCommData };
delete updatedFormData.files;
const formDataToSend = new FormData();
const jsonBlob = new Blob([JSON.stringify(updatedFormData)], {
type: 'application/json'
});
formDataToSend.append('communicationRequestBean', jsonBlob);
if (newCommData.files && newCommData.files.length > 0) {
newCommData.files.forEach((file) => {
formDataToSend.append('files', file);
});
}
CommunicationService.createCommunication(amendmentId, formDataToSend, createCommunicationCallback, errCreateCommunicationCallback);
}; };
const createCommunicationCallback = (data) => { const createCommunicationCallback = (data) => {
@@ -188,7 +204,10 @@ const SoccorsoComunications = ({amendmentId, soccorsoStatus}) => {
</td> </td>
<td> <td>
<h3>{o.title}</h3> <h3>{o.title}</h3>
<p>{o.comment}</p> {renderHtmlContent(o.comment)}
{o.documents && !isEmpty(o.documents)
? <div>{o.documents.map((doc) => <a href={doc.filePath} target="_blank" rel="noreferrer">{doc.name}</a>)}</div>
: null }
</td> </td>
</tr>) </tr>)
: <tr> : <tr>

View File

@@ -422,6 +422,17 @@ const SoccorsoEditPreInstructor = () => {
<div <div
className="appPageSection__emailTemplate">{getEmailTemplateForSoccorso(data.emailTemplate, data.note)}</div> className="appPageSection__emailTemplate">{getEmailTemplateForSoccorso(data.emailTemplate, data.note)}</div>
</div> </div>
{data.amendmentInitialDocument && is(Array, data.amendmentInitialDocument)
? <div className="appPageSection">
<h3>{__('Documenti da PEC', 'gepafin')}</h3>
<ol className="appPageSection__list">
{data.amendmentInitialDocument.map((o, i) => <li key={o.fieldId}>
<a href={o.filePath} target="_blank" rel="noreferrer">{o.name}</a>
</li>)}
</ol>
</div> : null}
<div className="appPageSection"> <div className="appPageSection">
<h3>{__('Documenti richiesti', 'gepafin')}</h3> <h3>{__('Documenti richiesti', 'gepafin')}</h3>
<ol className="appPageSection__list"> <ol className="appPageSection__list">

View File

@@ -25,7 +25,7 @@ export default class AmendmentsService {
}; };
static createSoccorso = (body, callback, errCallback, queryParams) => { static createSoccorso = (body, callback, errCallback, queryParams) => {
NetworkService.post(`${API_BASE_URL}/amendments`, body, callback, errCallback, queryParams); NetworkService.postMultiPart(`${API_BASE_URL}/amendments`, body, callback, errCallback, queryParams);
}; };
static updateSoccorso = (id, body, callback, errCallback, queryParams) => { static updateSoccorso = (id, body, callback, errCallback, queryParams) => {

View File

@@ -9,6 +9,6 @@ export default class CommunicationService {
}; };
static createCommunication = (id, body, callback, errCallback, queryParams) => { static createCommunication = (id, body, callback, errCallback, queryParams) => {
NetworkService.post(`${API_BASE_URL}/communication/${id}`, body, callback, errCallback, queryParams); NetworkService.postMultiPart(`${API_BASE_URL}/communication/${id}`, body, callback, errCallback, queryParams);
}; };
} }