WIP: Fix types, allow filter for user in stats
This commit is contained in:
parent
d417cf5fe3
commit
89fc3a8deb
|
|
@ -13,7 +13,11 @@ import CourseDetailDates from "@/components/dashboard/CourseDetailDates.vue";
|
|||
import NoCourseSession from "@/components/dashboard/NoCourseSession.vue";
|
||||
import MentorPage from "@/pages/dashboard/MentorPage.vue";
|
||||
import CoursePanel from "@/components/dashboard/CoursePanel.vue";
|
||||
import { DashboardConfigType, fetchDashboardConfigv2 } from "@/services/dashboard";
|
||||
import {
|
||||
DashboardConfigType,
|
||||
DashboardCourseConfigType,
|
||||
fetchDashboardConfigv2,
|
||||
} from "@/services/dashboard";
|
||||
|
||||
const dashboardStore = useDashboardStore();
|
||||
|
||||
|
|
@ -30,7 +34,7 @@ const boards: Record<DashboardType, DashboardPage> = {
|
|||
PRAXISBILDNER_DASHBOARD: { main: CoursePanel, aside: SimpleDates },
|
||||
};
|
||||
|
||||
const dashboardConfigv2: Ref<DashboardConfigType[]> = ref([]);
|
||||
const dashboardConfigv2: Ref<DashboardCourseConfigType[]> = ref([]);
|
||||
|
||||
onMounted(async () => {
|
||||
dashboardConfigv2.value = await fetchDashboardConfigv2();
|
||||
|
|
@ -74,7 +78,9 @@ function newDashboardConfigForId(id: string) {
|
|||
dashboardStore.currentDashboardConfig.dashboard_type ===
|
||||
'PRAXISBILDNER_DASHBOARD'
|
||||
"
|
||||
:course-config="dashboardStore.currentDashboardConfig"
|
||||
:course-config="
|
||||
newDashboardConfigForId(dashboardStore.currentDashboardConfig.id)
|
||||
"
|
||||
/>
|
||||
<component
|
||||
:is="boards[dashboardStore.currentDashboardConfig.dashboard_type].main"
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ export type DashboardPersonType = {
|
|||
course_sessions: DashboardPersonCourseSessionType[];
|
||||
};
|
||||
|
||||
export type DashboardConfigType = {
|
||||
export type DashboardCourseConfigType = {
|
||||
course_id: string;
|
||||
course_slug: string;
|
||||
course_title: string;
|
||||
|
|
@ -143,5 +143,5 @@ export async function fetchDashboardPersons() {
|
|||
}
|
||||
|
||||
export async function fetchDashboardConfigv2() {
|
||||
return await itGetCached<DashboardConfigType[]>("/api/dashboard/config/");
|
||||
return await itGetCached<DashboardCourseConfigType[]>("/api/dashboard/config/");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,10 +85,13 @@ def get_assignment_completion_metrics(
|
|||
assignment: vbv_lernwelt.assignment.models.Assignment,
|
||||
user_selection_ids: List[str] | None,
|
||||
) -> AssignmentCompletionMetricsType:
|
||||
course_session_users = CourseSessionUser.objects.filter(
|
||||
course_session=course_session,
|
||||
role=CourseSessionUser.Role.MEMBER,
|
||||
).values_list("user", flat=True)
|
||||
if user_selection_ids:
|
||||
course_session_users = user_selection_ids
|
||||
else:
|
||||
course_session_users = CourseSessionUser.objects.filter(
|
||||
course_session=course_session,
|
||||
role=CourseSessionUser.Role.MEMBER,
|
||||
).values_list("user", flat=True)
|
||||
|
||||
evaluation_results = AssignmentCompletion.objects.filter(
|
||||
completion_status=AssignmentCompletionStatus.EVALUATION_SUBMITTED.value,
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ class ProgressDashboardAssignmentType(graphene.ObjectType):
|
|||
points_achieved_count = graphene.Int(required=True)
|
||||
|
||||
|
||||
class öCourseProgressType(graphene.ObjectType):
|
||||
class CourseProgressType(graphene.ObjectType):
|
||||
_id = graphene.ID(required=True)
|
||||
course_id = graphene.ID(required=True)
|
||||
session_to_continue_id = graphene.ID(required=False)
|
||||
|
|
|
|||
Loading…
Reference in New Issue