Merge branch 'develop' into feature/93-user-details-page

This commit is contained in:
Vitalii Kiiko
2025-01-02 10:42:12 +01:00
3 changed files with 53 additions and 27 deletions

View File

@@ -163,12 +163,11 @@ const NotificationsSidebar = () => {
stomp.current.connect(
{},
() => {
// connected
console.log('Websocket connected');
//console.log('Websocket connected');
setIsConnected(true);
},
(error) => {
console.error('WebSocket Connection Error:', error);
//console.error('WebSocket Connection Error:', error);
setIsConnected(false);
setTimeout(connectWebSocket, 5000);
}
@@ -176,14 +175,12 @@ const NotificationsSidebar = () => {
};
const subscribeTo = (topic) => {
console.log('subscribeTo', topic)
const subscription = stomp.current.subscribe(
topic,
(message) => {
try {
const notification = JSON.parse(message.body);
console.log('notification', notification)
//setNotifications(prev => [notification, ...prev]);
setNotifications(prev => [notification, ...prev]);
} catch (error) {
console.error('Error parsing notification:', error);
}
@@ -208,7 +205,7 @@ const NotificationsSidebar = () => {
if (stomp.current) {
stomp.current.disconnect(() => {
console.log('WebSocket Disconnected');
//console.log('WebSocket Disconnected');
});
}
};

View File

@@ -6,7 +6,7 @@ import { klona } from 'klona';
import { wrap } from 'object-path-immutable';
// store
import { storeSet, useStore } from '../../store';
import { storeGet, storeSet, useStore } from '../../store';
// api
import ApplicationEvaluationService from '../../service/application-evaluation-service';
@@ -502,6 +502,11 @@ const DomandaEditPreInstructor = () => {
// TODO
}
const evaluationShouldBeBlocked = (data = {}) => {
const userData = storeGet.main.userData()
return isAsyncRequest || userData.id !== data.assignedUserId;
}
useEffect(() => {
const maxScore = pathOr(0, ['minScore'], data);
const criteria = pathOr([], ['criteria'], data);
@@ -610,7 +615,7 @@ const DomandaEditPreInstructor = () => {
data,
['evaluationDocument']
)}
shouldDisable={['APPROVED', 'REJECTED'].includes(data.applicationStatus)}
shouldDisable={['APPROVED', 'REJECTED'].includes(data.applicationStatus) || evaluationShouldBeBlocked(data)}
sourceId={data.assignedApplicationId}
sourceName="evaluation"/>
</div>
@@ -624,7 +629,7 @@ const DomandaEditPreInstructor = () => {
<div className="appPageSection__checklist">
{data.checklist.map((o, i) => <div key={o.id}>
<Checkbox
disabled={shouldDisableField('checklist')}
disabled={shouldDisableField('checklist') || evaluationShouldBeBlocked(data)}
inputId={`checklist_${o.id}`}
onChange={(e) => updateEvaluationValue(
e.checked,
@@ -640,7 +645,7 @@ const DomandaEditPreInstructor = () => {
<div>
<Editor
value={data.note}
readOnly={shouldDisableField('note')}
readOnly={shouldDisableField('note') || evaluationShouldBeBlocked(data)}
placeholder={__('Digita qui il messagio', 'gepafin')}
headerTemplate={header}
onTextChange={(e) => updateEvaluationValue(
@@ -656,7 +661,7 @@ const DomandaEditPreInstructor = () => {
<ListOfFiles
files={data.files}
updateFn={updateEvaluationValue}
shouldDisableFieldFn={shouldDisableField}
shouldDisableFieldFn={(name) => shouldDisableField(name) || evaluationShouldBeBlocked(data)}
name="files"
ndg={data.ndg}
applicationId={id}/>
@@ -670,7 +675,7 @@ const DomandaEditPreInstructor = () => {
<ListOfFiles
files={data.amendmentDetails}
updateFn={updateEvaluationValue}
shouldDisableFieldFn={shouldDisableField}
shouldDisableFieldFn={(name) => shouldDisableField(name) || evaluationShouldBeBlocked(data)}
name="amendmentDetails"
ndg={data.ndg}
applicationId={id}/>
@@ -693,7 +698,7 @@ const DomandaEditPreInstructor = () => {
<td>
<div className="p-inputgroup">
<InputNumber
disabled={shouldDisableField('criteria')}
disabled={shouldDisableField('criteria') || evaluationShouldBeBlocked(data)}
placeholder={__('Punteggio', 'gepafin')}
keyfilter="int"
value={o.score}
@@ -716,7 +721,7 @@ const DomandaEditPreInstructor = () => {
onClick={() => displayCriterionData(o.id)}
aria-label={__('Mostra', 'gepafin')}/> : null}
<Button icon="pi pi-thumbs-up" rounded outlined
disabled={shouldDisableField('criteria')}
disabled={shouldDisableField('criteria') || evaluationShouldBeBlocked(data)}
severity={!isNil(o.valid) && o.valid ? 'success' : 'secondary'}
onClick={() => updateEvaluationValue(
true,
@@ -724,7 +729,7 @@ const DomandaEditPreInstructor = () => {
)}
aria-label={__('Su', 'gepafin')}/>
<Button icon="pi pi-thumbs-down" rounded outlined
disabled={shouldDisableField('criteria')}
disabled={shouldDisableField('criteria') || evaluationShouldBeBlocked(data)}
severity={!isNil(o.valid) && !o.valid ? 'danger' : 'secondary'}
onClick={() => updateEvaluationValue(
false,
@@ -767,7 +772,7 @@ const DomandaEditPreInstructor = () => {
? <Button
type="button"
disabled={!data.id || data.status === 'CLOSE' || (data.applicationStatus === 'EVALUATION'
&& (!allFilesRated || !atLeastOneChecked))}
&& (!allFilesRated || !atLeastOneChecked)) || evaluationShouldBeBlocked(data)}
onClick={doNewSoccorso}
outlined
label={<>
@@ -782,7 +787,7 @@ const DomandaEditPreInstructor = () => {
{data.id
? <Button
type="button"
disabled={data.status === 'CLOSE'}
disabled={data.status === 'CLOSE' || evaluationShouldBeBlocked(data)}
onClick={() => doSaveDraft()}
outlined
label={__('Salva bozza valutazione', 'gepafin')}
@@ -795,28 +800,49 @@ const DomandaEditPreInstructor = () => {
{/*{APP_EVALUATION_FLOW_ID === '1' && ['EVALUATION'].includes(data.applicationStatus)
? <Button
type="button"
disabled={!data.id || !allFilesRated || !allChecksChecked}
disabled={!data.id || !allFilesRated || !allChecksChecked || evaluationShouldBeBlocked(data)}
onClick={doCheckNDG}
label={__('Controlla NDG', 'gepafin')}
/> : null}*/}
{APP_EVALUATION_FLOW_ID === '1' && ['NDG'].includes(data.applicationStatus) && data.ndg
<Button
type="button"
disabled={true}
onClick={() => {
}}
label={__('Controlla NDG', 'gepafin')}
/>
{/*{APP_EVALUATION_FLOW_ID === '1' && ['NDG'].includes(data.applicationStatus) && data.ndg
? <Button
type="button"
disabled={!data.id}
disabled={!data.id || evaluationShouldBeBlocked(data)}
onClick={doCreateAppointment}
label={__('Crea l\'appuntamento', 'gepafin')}
/> : null}
{APP_EVALUATION_FLOW_ID === '1' && ['APPOINTMENT'].includes(data.applicationStatus)
/> : null}*/}
<Button
type="button"
disabled={true}
onClick={() => {
}}
label={__('Crea l\'appuntamento', 'gepafin')}
/>
{/*{APP_EVALUATION_FLOW_ID === '1' && ['APPOINTMENT'].includes(data.applicationStatus)
? <Button
type="button"
disabled={!data.id}
disabled={!data.id || evaluationShouldBeBlocked(data)}
onClick={doMakeAdmisible}
label={__('Ammissibile', 'gepafin')}
/> : null}
/> : null}*/}
<Button
type="button"
disabled={true}
onClick={() => {
}}
label={__('Ammissibile', 'gepafin')}
/>
{data.id
? <Button
type="button"
disabled={!isAdmissible || ['APPROVED'].includes(data.applicationStatus)}
disabled={!isAdmissible || ['APPROVED'].includes(data.applicationStatus) || evaluationShouldBeBlocked(data)}
/*disabled={!isAdmissible
|| (APP_EVALUATION_FLOW_ID === '1' && !['ADMISSIBLE', 'APPOINTMENT'].includes(data.applicationStatus))}*/
onClick={initiateApproving}
@@ -832,7 +858,9 @@ const DomandaEditPreInstructor = () => {
{data.id
? <Button
type="button"
disabled={APP_EVALUATION_FLOW_ID === '1' && !['EVALUATION', 'ADMISSIBLE', 'APPOINTMENT'].includes(data.applicationStatus)}
disabled={APP_EVALUATION_FLOW_ID === '1'
&& !['EVALUATION', 'ADMISSIBLE', 'APPOINTMENT'].includes(data.applicationStatus)
|| evaluationShouldBeBlocked(data)}
onClick={initiateRejecting}
label={__('Respingi Domanda', 'gepafin')}
icon="pi pi-times" iconPos="right"/> : null}