diff --git a/aleksis/apps/alsijil/model_extensions.py b/aleksis/apps/alsijil/model_extensions.py index ecba9f773f54ba1343fbf86ab2cd2fc7003a760b..9e758d682d3f7f1ffc68df14b46cf92b6d0a6b3f 100644 --- a/aleksis/apps/alsijil/model_extensions.py +++ b/aleksis/apps/alsijil/model_extensions.py @@ -47,6 +47,7 @@ def mark_absent( week=wanted_week.week, defaults={"absent": absent, "excused": excused, "excuse_type": excuse_type}, ) + personal_note.groups_of_person.set(self.member_of.all()) if remarks: if personal_note.remarks: @@ -83,12 +84,14 @@ def get_personal_notes(self, wanted_week: CalendarWeek): ) # Create all missing personal notes - PersonalNote.objects.bulk_create( - [ - PersonalNote(person=person, lesson_period=self, week=wanted_week.week) - for person in missing_persons - ] - ) + new_personal_notes = [ + PersonalNote(person=person, lesson_period=self, week=wanted_week.week) + for person in missing_persons + ] + PersonalNote.objects.bulk_create(new_personal_notes) + + for personal_note in new_personal_notes: + personal_note.groups_of_person.set(personal_note.person.member_of.all()) return PersonalNote.objects.select_related("person").filter( lesson_period=self, week=wanted_week.week