Bugfix: load only assignment completion data with given learning_content_id. Will fix bug with Reflexion

This commit is contained in:
Daniel Egger 2023-09-06 17:31:27 +02:00
parent 6175ca75ed
commit 515ef3707a
5 changed files with 17 additions and 5 deletions

View File

@ -39,7 +39,8 @@ onMounted(async () => {
const { gradedUsers, assignmentSubmittedUsers } =
await loadAssignmentCompletionStatusData(
props.learningContentAssignment.content_assignment_id,
props.courseSession.id
props.courseSession.id,
props.learningContentAssignment.id
);
state.gradedUsers = gradedUsers;
state.assignmentSubmittedUsers = assignmentSubmittedUsers;

View File

@ -35,7 +35,8 @@ onMounted(async () => {
const { assignmentSubmittedUsers, gradedUsers, total } =
await loadAssignmentCompletionStatusData(
props.learningContentAssignment.content_assignment_id,
props.courseSession.id
props.courseSession.id,
props.learningContentAssignment.id
);
state.submissionProgressStatusCount = {

View File

@ -32,7 +32,8 @@ export function calcLearningContentAssignments(learningPath?: LearningPath) {
export async function loadAssignmentCompletionStatusData(
assignmentId: number,
courseSessionId: number
courseSessionId: number,
learningContentId: number
) {
const cockpitStore = useCockpitStore();
@ -46,7 +47,9 @@ export async function loadAssignmentCompletionStatusData(
const assignmentSubmittedUsers: CourseSessionUser[] = [];
for (const csu of courseSessionUsers) {
const userAssignmentStatus = assignmentCompletionData.find(
(s) => s.assignment_user_id === csu.user_id
(s) =>
s.assignment_user_id === csu.user_id &&
s.learning_content_page_id === learningContentId
);
if (
userAssignmentStatus?.completion_status === "SUBMITTED" ||

View File

@ -569,6 +569,7 @@ export interface UserAssignmentCompletionStatus {
assignment_user_id: string;
completion_status: AssignmentCompletionStatus;
evaluation_grade: number | null;
learning_content_page_id: number;
}
export type DueDate = {

View File

@ -16,7 +16,13 @@ def request_assignment_completion_status(request, assignment_id, course_session_
qs = AssignmentCompletion.objects.filter(
course_session_id=course_session_id,
assignment_id=assignment_id,
).values("id", "assignment_user_id", "completion_status", "evaluation_grade")
).values(
"id",
"assignment_user_id",
"completion_status",
"evaluation_grade",
"learning_content_page_id",
)
return Response(status=200, data=qs)
raise PermissionDenied()