fix: assignments subsequent saves bug

This commit is contained in:
swve 2025-08-12 00:09:50 +02:00
parent 7257222b27
commit ca0a177472
5 changed files with 90 additions and 15 deletions

View file

@ -106,9 +106,9 @@ export default function TaskFileObject({ view, user_id, assignmentTaskUUID }: Ta
return;
}
// Save the quiz to the server
// Save the file submission to the server
const values = {
assignment_task_submission_uuid: userSubmissions.assignment_task_submission_uuid,
assignment_task_submission_uuid: userSubmissions.assignment_task_submission_uuid || null,
task_submission: userSubmissions,
grade: 0,
task_submission_grade_feedback: '',
@ -121,6 +121,13 @@ export default function TaskFileObject({ view, user_id, assignmentTaskUUID }: Ta
});
toast.success('Task saved successfully');
setShowSavingDisclaimer(false);
// Update userSubmissions with the returned UUID for future updates
const updatedUserSubmissions = {
...userSubmissions,
assignment_task_submission_uuid: res.data?.assignment_task_submission_uuid || userSubmissions.assignment_task_submission_uuid
};
setUserSubmissions(updatedUserSubmissions);
setInitialUserSubmissions(updatedUserSubmissions);
} else {
toast.error('Error saving task, please retry later.');
}

View file

@ -187,6 +187,7 @@ function TaskFormObject({ view, assignmentTaskUUID, user_id }: TaskFormObjectPro
}
const values = {
assignment_task_submission_uuid: userSubmissions.assignment_task_submission_uuid || null,
task_submission: userSubmissions,
grade: 0,
task_submission_grade_feedback: '',
@ -201,7 +202,13 @@ function TaskFormObject({ view, assignmentTaskUUID, user_id }: TaskFormObjectPro
if (res) {
toast.success('Form submitted successfully!');
setInitialUserSubmissions(userSubmissions);
// Update userSubmissions with the returned UUID for future updates
const updatedUserSubmissions = {
...userSubmissions,
assignment_task_submission_uuid: res.data?.assignment_task_submission_uuid || userSubmissions.assignment_task_submission_uuid
};
setUserSubmissions(updatedUserSubmissions);
setInitialUserSubmissions(updatedUserSubmissions);
setShowSavingDisclaimer(false);
} else {
console.error('Submission error:', res);

View file

@ -221,6 +221,7 @@ function TaskQuizObject({ view, assignmentTaskUUID, user_id }: TaskQuizObjectPro
// Save the quiz to the server
const values = {
assignment_task_submission_uuid: userSubmissions.assignment_task_submission_uuid || null,
task_submission: updatedUserSubmissions,
grade: 0,
task_submission_grade_feedback: '',
@ -234,7 +235,13 @@ function TaskQuizObject({ view, assignmentTaskUUID, user_id }: TaskQuizObjectPro
});
toast.success('Task saved successfully');
setShowSavingDisclaimer(false);
setUserSubmissions(updatedUserSubmissions);
// Update userSubmissions with the returned UUID for future updates
const updatedUserSubmissionsWithUUID = {
...updatedUserSubmissions,
assignment_task_submission_uuid: res.data?.assignment_task_submission_uuid || userSubmissions.assignment_task_submission_uuid
};
setUserSubmissions(updatedUserSubmissionsWithUUID);
setInitialUserSubmissions(updatedUserSubmissionsWithUUID);
} else {
toast.error('Error saving task, please retry later.');
}