Skip to content
Snippets Groups Projects
Commit 0e4ce68d authored by permcu's avatar permcu
Browse files

Add for_participant manager

that returns all lessonEvent a person participates in.
parent 7274012b
No related branches found
No related tags found
1 merge request!348Resolve "Add for_participant manager"
Pipeline #183113 passed with warnings
...@@ -876,6 +876,15 @@ class LessonEventQuerySet(PolymorphicQuerySet): ...@@ -876,6 +876,15 @@ class LessonEventQuerySet(PolymorphicQuerySet):
) )
return self.filter(Q(teachers=teacher) | Q(pk__in=amended)).distinct() return self.filter(Q(teachers=teacher) | Q(pk__in=amended)).distinct()
def for_participant(self, person: Union[int, Person]) -> "LessonEventQuerySet":
"""Get all lesson events the person participates in (including amends)."""
amended = self.filter(
Q(amended_by__isnull=False) | Q(groups__members=person)
).values_list("amended_by__pk", flat=True)
return self.filter(
Q(groups__members=person) | Q(pk__in=amended)
).distinct()
def for_group(self, group: Union[int, Group]) -> "LessonEventQuerySet": def for_group(self, group: Union[int, Group]) -> "LessonEventQuerySet":
"""Get all lesson events for a certain group (including amends/as parent group).""" """Get all lesson events for a certain group (including amends/as parent group)."""
amended = self.filter( amended = self.filter(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment