Show grade on overview page

This commit is contained in:
Daniel Egger 2023-05-05 18:33:40 +02:00
parent 32c3d6d1b4
commit 08b2e9e49a
4 changed files with 34 additions and 2 deletions

View File

@ -23,6 +23,7 @@ const state = reactive({
userStatus: AssignmentCompletionStatus; userStatus: AssignmentCompletionStatus;
progressStatus: StatusCountKey; progressStatus: StatusCountKey;
userId: number; userId: number;
grade: number | null;
}[], }[],
progressStatusCount: {} as StatusCount, progressStatusCount: {} as StatusCount,
}); });
@ -62,7 +63,31 @@ function submissionStatusForUser(userId: number) {
:avatar-url="csu.avatar_url" :avatar-url="csu.avatar_url"
> >
<template #center> <template #center>
{{ submissionStatusForUser(csu.user_id)?.userStatus || "-" }} <section class="flex w-full justify-between px-8">
<div
v-if="
['evaluation_submitted'].includes(
submissionStatusForUser(csu.user_id)?.userStatus ?? ''
)
"
>
Bewertung freigegeben
</div>
<div
v-else-if="
['evaluation_in_progress', 'submitted'].includes(
submissionStatusForUser(csu.user_id)?.userStatus ?? ''
)
"
>
Ergebnisse abgegeben
</div>
<div v-else></div>
<div v-if="submissionStatusForUser(csu.user_id)?.grade">
Note: {{ submissionStatusForUser(csu.user_id)?.grade }}
</div>
</section>
</template> </template>
<template #link> <template #link>
<div <div

View File

@ -74,7 +74,12 @@ export function calcUserAssignmentCompletionStatus(
progressStatus = "success"; progressStatus = "success";
} }
return { userId: u.user_id, userStatus, progressStatus }; return {
userId: u.user_id,
userStatus,
progressStatus,
grade: userAssignmentStatus?.evaluation_grade ?? null,
};
}); });
} }

View File

@ -40,6 +40,7 @@ export const useAssignmentStore = defineStore({
userId: string | undefined = undefined userId: string | undefined = undefined
) { ) {
log.debug("load assignment completion", assignmentId, courseSessionId, userId); log.debug("load assignment completion", assignmentId, courseSessionId, userId);
this.assignmentCompletion = undefined;
try { try {
let url = `/api/assignment/${assignmentId}/${courseSessionId}/`; let url = `/api/assignment/${assignmentId}/${courseSessionId}/`;
if (userId) { if (userId) {

View File

@ -566,4 +566,5 @@ export interface UserAssignmentCompletionStatus {
id: number; id: number;
assignment_user_id: number; assignment_user_id: number;
completion_status: AssignmentCompletionStatus; completion_status: AssignmentCompletionStatus;
evaluation_grade: number | null;
} }