From 0ad7e1d0dffaa7351bdb52cb5f5b5f784ffe97ce Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Tue, 31 Mar 2020 16:55:09 +0200
Subject: [PATCH] Show groups in overview also if they have child groups with
 lessons ("courses" with lessons)

---
 aleksis/apps/chronos/views.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/aleksis/apps/chronos/views.py b/aleksis/apps/chronos/views.py
index e94b3fea..310b6f44 100644
--- a/aleksis/apps/chronos/views.py
+++ b/aleksis/apps/chronos/views.py
@@ -30,8 +30,12 @@ def all_timetables(request: HttpRequest) -> HttpResponse:
     teachers = Person.objects.annotate(
         lessons_count=Count("lessons_as_teacher")
     ).filter(lessons_count__gt=0)
-    classes = Group.objects.annotate(lessons_count=Count("lessons")).filter(
-        lessons_count__gt=0, parent_groups=None
+    groups = Group.objects.annotate(
+        lessons_count=Count("lessons"),
+        child_lessons_count=Count("child_groups__lessons"),
+    )
+    classes = groups.filter(lessons_count__gt=0, parent_groups=None) | groups.filter(
+        child_lessons_count__gt=0, parent_groups=None
     )
     rooms = Room.objects.annotate(lessons_count=Count("lesson_periods")).filter(
         lessons_count__gt=0
-- 
GitLab