From 19adf0c0f0ac548189e1a70052843b7b3426c487 Mon Sep 17 00:00:00 2001 From: Michael Bauer <michael-bauer@posteo.de> Date: Thu, 2 May 2024 19:16:46 +0200 Subject: [PATCH] Use get_documentations_for_events in lessons_for_persons query & use documentations instead of lesson-events --- .../absences/absenceCreation.graphql | 14 ++++++++--- aleksis/apps/alsijil/schema/__init__.py | 23 ++++++++++++------- aleksis/apps/alsijil/schema/absences.py | 4 ++-- 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceCreation.graphql b/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceCreation.graphql index a7028c74f..f0820c675 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceCreation.graphql +++ b/aleksis/apps/alsijil/frontend/components/coursebook/absences/absenceCreation.graphql @@ -21,12 +21,20 @@ query lessonsForPersons( id datetimeStart datetimeEnd - course - subject + course { + id + name + } + subject { + id + name + shortName + colourFg + colourBg + } } } } -# TODO: course is missing in LessonEventType # Use absencesInputType mutation createAbsences( diff --git a/aleksis/apps/alsijil/schema/__init__.py b/aleksis/apps/alsijil/schema/__init__.py index f9241adb9..612d00d04 100644 --- a/aleksis/apps/alsijil/schema/__init__.py +++ b/aleksis/apps/alsijil/schema/__init__.py @@ -18,7 +18,10 @@ from .documentation import ( DocumentationBatchCreateOrUpdateMutation, DocumentationType, ) - +from .absences import ( + LessonsForPersonType, + AbsencesBatchCreateMutation, +) class Query(graphene.ObjectType): documentations = FilterOrderList(DocumentationType) @@ -159,15 +162,19 @@ class Query(graphene.ObjectType): "obj_id": PERSON_ID, } + events = LessonEvent.get_single_events( + datetime.combine(start, datetime.min.time()), + datetime.combine(end, datetime.max.time()), + None, + event_params, + with_reference_object=True, + ) + + docs, dummies = Documentation.get_documentations_for_events(events) + lessons_for_person.append( id=person, - lessons=LessonEvent.get_single_events( - datetime.combine(start, datetime.min.time()), - datetime.combine(date_end, datetime.max.time()), - None, - event_params, - with_reference_object=True, - ) + lessons=docs + dummies ) return lessons_for_person diff --git a/aleksis/apps/alsijil/schema/absences.py b/aleksis/apps/alsijil/schema/absences.py index 00304a581..42dfce466 100644 --- a/aleksis/apps/alsijil/schema/absences.py +++ b/aleksis/apps/alsijil/schema/absences.py @@ -1,9 +1,9 @@ import graphene -from aleksis.apps.chronos.schema import LessonEventType +from .documentation import DocumentationType class LessonsForPersonType(graphene.ObjectType): id = graphene.ID() # noqa - lessons = graphene.List(LessonEventType) + lessons = graphene.List(DocumentationType) class AbsencesBatchCreateMutation(graphene.Mutation): class Arguments: -- GitLab