diff --git a/aleksis/apps/chronos/managers.py b/aleksis/apps/chronos/managers.py index fb5a886b80e2114f87c77d61e6f5f514f61bf737..c502064f5b2bb2a5642e75c4ab6a59366c12d994 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":