From f4ddbf4d1200c88a631726bf329c33e93e48ecc6 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Sat, 30 Nov 2024 13:26:37 +0100
Subject: [PATCH] Sort affected teachers and groups in substitutions table

---
 aleksis/apps/chronos/util/build.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/aleksis/apps/chronos/util/build.py b/aleksis/apps/chronos/util/build.py
index 2a43d0d0..e8f0a2cb 100644
--- a/aleksis/apps/chronos/util/build.py
+++ b/aleksis/apps/chronos/util/build.py
@@ -4,7 +4,7 @@ from aleksis.apps.chronos.models import LessonEvent, SupervisionEvent
 from aleksis.core.models import Group, Person
 
 
-def build_substitutions_list(wanted_day: date) -> tuple[list[dict], set[Person], set[Group]]:
+def build_substitutions_list(wanted_day: date) -> tuple[list[dict], list[Person], list[Group]]:
     rows = []
     affected_teachers = set()
     affected_groups = set()
@@ -57,4 +57,7 @@ def build_substitutions_list(wanted_day: date) -> tuple[list[dict], set[Person],
 
     rows.sort(key=lambda row: row["sort_a"] + row["sort_b"])
 
+    affected_teachers = sorted(affected_teachers, key=lambda p: p.short_name or p.last_name)
+    affected_groups = sorted(affected_groups, key=lambda g: g.short_name or g.name)
+
     return rows, affected_teachers, affected_groups
-- 
GitLab