Skip to content
Snippets Groups Projects
Commit 2bab9c2c authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Merge branch '103-sort-teacher-abbreviations-alphabetically' into 'master'

Resolve "Sort teacher abbreviations alphabetically"

Closes #103

See merge request !109
parents 140ebf3d bd0a1650
No related branches found
No related tags found
1 merge request!109Resolve "Sort teacher abbreviations alphabetically"
Pipeline #4887 passed
...@@ -460,14 +460,20 @@ class LessonSubstitutionQuerySet(LessonDataQuerySet): ...@@ -460,14 +460,20 @@ class LessonSubstitutionQuerySet(LessonDataQuerySet):
Return all teachers which are affected by Return all teachers which are affected by
selected substitutions (as substituted or substituting). selected substitutions (as substituted or substituting).
""" """
return Person.objects.filter( return (
Q(lessons_as_teacher__in=self.affected_lessons()) | Q(lesson_substitutions__in=self) Person.objects.filter(
).annotate(lessons_count=Count("lessons_as_teacher")) Q(lessons_as_teacher__in=self.affected_lessons()) | Q(lesson_substitutions__in=self)
)
.annotate(lessons_count=Count("lessons_as_teacher"))
.order_by("short_name")
)
def affected_groups(self): def affected_groups(self):
"""Return all groups which are affected by selected substitutions.""" """Return all groups which are affected by selected substitutions."""
return Group.objects.filter(lessons__in=self.affected_lessons()).annotate( return (
lessons_count=Count("lessons") Group.objects.filter(lessons__in=self.affected_lessons())
.annotate(lessons_count=Count("lessons"))
.order_by("short_name")
) )
...@@ -502,13 +508,25 @@ class AbsenceQuerySet(DateRangeQuerySetMixin, SchoolTermRelatedQuerySet): ...@@ -502,13 +508,25 @@ class AbsenceQuerySet(DateRangeQuerySetMixin, SchoolTermRelatedQuerySet):
"""QuerySet with custom query methods for absences.""" """QuerySet with custom query methods for absences."""
def absent_teachers(self): def absent_teachers(self):
return Person.objects.filter(absences__in=self).annotate(absences_count=Count("absences")) return (
Person.objects.filter(absences__in=self)
.annotate(absences_count=Count("absences"))
.order_by("short_name")
)
def absent_groups(self): def absent_groups(self):
return Group.objects.filter(absences__in=self).annotate(absences_count=Count("absences")) return (
Group.objects.filter(absences__in=self)
.annotate(absences_count=Count("absences"))
.order_by("short_name")
)
def absent_rooms(self): def absent_rooms(self):
return Person.objects.filter(absences__in=self).annotate(absences_count=Count("absences")) return (
Person.objects.filter(absences__in=self)
.annotate(absences_count=Count("absences"))
.order_by("short_name")
)
class HolidayQuerySet(QuerySet, DateRangeQuerySetMixin): class HolidayQuerySet(QuerySet, DateRangeQuerySetMixin):
......
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