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