From 01195ff2b7410b70a0ccf20194396d4b7394db86 Mon Sep 17 00:00:00 2001
From: Julian Leucker <leuckerj@gmail.com>
Date: Wed, 20 Jul 2022 12:02:22 +0200
Subject: [PATCH] Update personal Note creation mutation to use a lesson
 documentation as an argument

---
 aleksis/apps/alsijil/schema.py | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/aleksis/apps/alsijil/schema.py b/aleksis/apps/alsijil/schema.py
index c1048dbc4..c6eb931b0 100644
--- a/aleksis/apps/alsijil/schema.py
+++ b/aleksis/apps/alsijil/schema.py
@@ -68,9 +68,7 @@ class PersonalNoteMutation(DjangoModelFormMutation):
 class CreatePersonalNoteMutation(graphene.Mutation):
     class Arguments:
         person_id = graphene.ID(required=True)
-        lesson_period_id = graphene.ID(required=True)
-        week = graphene.Int(required=True)
-        year = graphene.Int(required=True)
+        lesson_documentation = graphene.ID(required=True)
 
         late = graphene.Int(required=False)
         absent = graphene.Boolean(required=False)
@@ -87,9 +85,7 @@ class CreatePersonalNoteMutation(graphene.Mutation):
             root,
             info,
             person_id,
-            lesson_period_id,
-            week,
-            year,
+            lesson_documentation,
             late=0,
             absent=False,
             excused=False,
@@ -100,20 +96,23 @@ class CreatePersonalNoteMutation(graphene.Mutation):
         if extra_marks is None:
             extra_marks = []
         person = Person.objects.get(pk=person_id)
-        lesson_period = LessonPeriod.objects.get(pk=lesson_period_id)
+        lesson_documentation = LessonDocumentation.objects.get(pk=lesson_documentation)
         extra_marks = ExtraMark.objects.filter(pk__in=extra_marks)
         personal_note = PersonalNote.objects.create(
             person=person,
-            lesson_period=lesson_period,
+            event=lesson_documentation.event,
+            extra_lesson=lesson_documentation.extra_lesson,
+            lesson_period=lesson_documentation.lesson_period,
             late=late,
             absent=absent,
             excused=excused,
             excuse_type=excuse_type,
             remarks=remarks,
-            week=week,
-            year=year,
+            week=lesson_documentation.week,
+            year=lesson_documentation.year,
         )
         personal_note.extra_marks.set(extra_marks)
+        personal_note.groups_of_person.set(person.member_of.all())
         personal_note.save()
         return CreatePersonalNoteMutation(personal_note=personal_note)
 
-- 
GitLab