From 135b72f882591f517ae3a4553175837ca60cc61c Mon Sep 17 00:00:00 2001 From: Julian Leucker <leuckerj@gmail.com> Date: Sun, 16 May 2021 14:50:56 +0200 Subject: [PATCH] Fix sorting of tables --- aleksis/apps/alsijil/tables.py | 14 +++++++++----- aleksis/apps/alsijil/views.py | 10 ++++++++++ 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/aleksis/apps/alsijil/tables.py b/aleksis/apps/alsijil/tables.py index e7fb6df6d..22a6b21ca 100644 --- a/aleksis/apps/alsijil/tables.py +++ b/aleksis/apps/alsijil/tables.py @@ -94,13 +94,17 @@ class PersonalNoteTable(tables.Table): period = tables.Column( verbose_name=_("Period"), accessor=A("period_formatted"), order_by=A("order_period") ) - groups = tables.Column(verbose_name=_("Groups"), accessor=A("register_object__group_names")) - teachers = tables.Column( - verbose_name=_("Teachers"), accessor=A("register_object__teacher_names") + groups = tables.Column( + verbose_name=_("Groups"), + accessor=A("register_object__group_names"), + order_by=A("order_groups"), ) - subject = tables.Column( - verbose_name=_("Subject"), accessor=A("register_object__get_subject__name") + teachers = tables.Column( + verbose_name=_("Teachers"), + accessor=A("register_object__teacher_names"), + order_by=A("order_teachers"), ) + subject = tables.Column(verbose_name=_("Subject"), accessor=A("subject")) absent = tables.Column() late = tables.Column() excused = tables.Column(verbose_name=_("Excuse")) diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py index 8e6e41b47..6fd7ec6c0 100644 --- a/aleksis/apps/alsijil/views.py +++ b/aleksis/apps/alsijil/views.py @@ -822,6 +822,16 @@ def overview_person(request: HttpRequest, id_: Optional[int] = None) -> HttpResp When(extra_lesson__isnull=False, then="extra_lesson__period__period"), When(lesson_period__isnull=False, then="lesson_period__period__period"), ), + order_groups=Case( + When(event__isnull=False, then="event__groups"), + When(extra_lesson__isnull=False, then="extra_lesson__groups"), + When(lesson_period__isnull=False, then="lesson_period__lesson__groups"), + ), + order_teachers=Case( + When(event__isnull=False, then="event__teachers"), + When(extra_lesson__isnull=False, then="extra_lesson__teachers"), + When(lesson_period__isnull=False, then="lesson_period__lesson__teachers"), + ), ) .order_by( "-school_term_start", "-order_year", "-order_week", "-order_weekday", "order_period", -- GitLab