diff --git a/aleksis/apps/alsijil/model_extensions.py b/aleksis/apps/alsijil/model_extensions.py index 67823949a5d829bfb3a07093363335d1437aa3c3..d7ebda3a49deadf724d18476d3c4dd9ab55abee5 100644 --- a/aleksis/apps/alsijil/model_extensions.py +++ b/aleksis/apps/alsijil/model_extensions.py @@ -385,6 +385,9 @@ def generate_person_list_with_class_register_statistics( """Get with class register statistics annotated list of all members.""" if persons is None: persons = self.members.all() + + # Build reusable Q objects for filtering by school term and by groups + # Necessary for the following annotations school_term_q = ( Q(personal_notes__lesson_period__lesson__validity__school_term=self.school_term) | Q(personal_notes__extra_lesson__school_term=self.school_term) diff --git a/aleksis/apps/alsijil/util/alsijil_helpers.py b/aleksis/apps/alsijil/util/alsijil_helpers.py index 0ea834badf5b646c971ce437a38778021c9a7328..9aedcb24ea2c8dd2c529d273b701b082281786ea 100644 --- a/aleksis/apps/alsijil/util/alsijil_helpers.py +++ b/aleksis/apps/alsijil/util/alsijil_helpers.py @@ -89,7 +89,10 @@ def annotate_documentations( def register_objects_sorter(register_object: Union[LessonPeriod, Event, ExtraLesson]) -> int: - """Sort key for sorted/sort for sorting a list of class register objects.""" + """Sort key for sorted/sort for sorting a list of class register objects. + + This will sort the objects by the start period. + """ if hasattr(register_object, "period"): return register_object.period.period elif isinstance(register_object, Event):