From 00ac1913cbd32f7e5e23b1b2d084c389101c780f Mon Sep 17 00:00:00 2001
From: Hangzhi Yu <hangzhi@protonmail.com>
Date: Thu, 7 Mar 2024 00:50:30 +0100
Subject: [PATCH] Fix managers

---
 aleksis/apps/chronos/managers.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/aleksis/apps/chronos/managers.py b/aleksis/apps/chronos/managers.py
index fb5a886b..c502064f 100644
--- a/aleksis/apps/chronos/managers.py
+++ b/aleksis/apps/chronos/managers.py
@@ -909,13 +909,13 @@ class LessonEventQuerySet(PolymorphicQuerySet):
         ).distinct()
 
     def related_to_person(self, person: Union[int, Person]) -> "LessonEventQuerySet":
-        # FIXME Doc string, amended
+        """Get all lesson events related to a certain person (as teacher/participant/group owner/parent group owner, including amends)."""
         amended = self.filter(
             Q(amended_by__isnull=False)
-            & (Q(teachers=person) | Q(groups__members=person) | Q(groups__owners=person))
+            & (Q(teachers=person) | Q(groups__members=person) | Q(groups__owners=person) | Q(groups__parent_groups__owners=person))
         ).values_list("amended_by__pk", flat=True)
         return self.filter(
-            Q(teachers=person) | Q(groups__members=person) | Q(groups__owners=person)
+            Q(teachers=person) | Q(groups__members=person) | Q(groups__owners=person) | Q(groups__parent_groups__owners=person) | Q(pk__in=amended)
         ).distinct()
 
     def not_amended(self) -> "LessonEventQuerySet":
-- 
GitLab