From 5facb542904f9842610e39338731ac9052ff2b44 Mon Sep 17 00:00:00 2001 From: Joyelle Ndagijimana Date: Sun, 4 May 2025 16:32:12 +0200 Subject: [PATCH] feat: leerkracht krijgt link naar indiening --- .../src/components/GroupSubmissionStatus.vue | 40 ++++ frontend/src/queries/assignments.ts | 2 +- .../views/assignments/StudentAssignment.vue | 30 +-- .../views/assignments/TeacherAssignment.vue | 184 ++++++++++-------- 4 files changed, 165 insertions(+), 91 deletions(-) create mode 100644 frontend/src/components/GroupSubmissionStatus.vue diff --git a/frontend/src/components/GroupSubmissionStatus.vue b/frontend/src/components/GroupSubmissionStatus.vue new file mode 100644 index 00000000..5641da58 --- /dev/null +++ b/frontend/src/components/GroupSubmissionStatus.vue @@ -0,0 +1,40 @@ + + + diff --git a/frontend/src/queries/assignments.ts b/frontend/src/queries/assignments.ts index 2bb0a929..fb99c5b9 100644 --- a/frontend/src/queries/assignments.ts +++ b/frontend/src/queries/assignments.ts @@ -181,7 +181,7 @@ export function useAssignmentSubmissionsQuery( return useQuery({ queryKey: computed(() => assignmentSubmissionsQueryKey(cid!, an!, f)), - queryFn: async () => new AssignmentController(cid!).getSubmissions(gn!, f), + queryFn: async () => new AssignmentController(cid!).getSubmissions(an!, f), enabled: () => checkEnabled(cid, an, gn), }); } diff --git a/frontend/src/views/assignments/StudentAssignment.vue b/frontend/src/views/assignments/StudentAssignment.vue index defb8d71..077540a5 100644 --- a/frontend/src/views/assignments/StudentAssignment.vue +++ b/frontend/src/views/assignments/StudentAssignment.vue @@ -16,11 +16,6 @@ import {calculateProgress} from "@/utils/assignment-utils.ts"; const props = defineProps<{ classId: string; assignmentId: number; - useGroupsWithProgress: ( - groups: Ref, - hruid: Ref, - language: Ref, - ) => { groupProgressMap: Map }; }>(); const { t } = useI18n(); @@ -38,13 +33,26 @@ import {calculateProgress} from "@/utils/assignment-utils.ts"; const submitted = ref(false); //TODO: update by fetching submissions and check if group submitted const groupsQueryResult = useGroupsQuery(props.classId, props.assignmentId, true); - const group = computed(() => - groupsQueryResult?.data.value?.groups.find((group) => - group.members?.some((m) => m.username === username.value), - ), - ); + const group = computed(() => { + const groups = groupsQueryResult.data.value?.groups; - watchEffect(() => { + if (!groups) return undefined; + + // Sort by original groupNumber + const sortedGroups = [...groups].sort((a, b) => a.groupNumber - b.groupNumber); + + return sortedGroups + .map((group, index) => ({ + ...group, + groupNo: index + 1, // Renumbered index + })) + .find((group) => + group.members?.some((m) => m.username === username.value), + ); + }); + + +watchEffect(() => { learningPath.value = assignmentQueryResult.data.value?.assignment?.learningPath; lang.value = assignmentQueryResult.data.value?.assignment?.language as Language; }); diff --git a/frontend/src/views/assignments/TeacherAssignment.vue b/frontend/src/views/assignments/TeacherAssignment.vue index c4942e0f..79b9a228 100644 --- a/frontend/src/views/assignments/TeacherAssignment.vue +++ b/frontend/src/views/assignments/TeacherAssignment.vue @@ -1,79 +1,105 @@