From c8791096f950cc118dbeec65b2888cb1c114f3d3 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Thu, 18 Jun 2020 16:38:06 +0200
Subject: [PATCH] Fix order of queries in week view

Week has to be annotated before querying teachers
---
 aleksis/apps/alsijil/views.py | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py
index 64a84cff2..8c58736ff 100644
--- a/aleksis/apps/alsijil/views.py
+++ b/aleksis/apps/alsijil/views.py
@@ -121,9 +121,14 @@ def week_view(
 ) -> HttpResponse:
     context = {}
 
+    if year and week:
+        wanted_week = CalendarWeek(year=year, week=week)
+    else:
+        wanted_week = CalendarWeek()
+
     instance = get_instance_by_pk(request, year, week, type_, id_)
 
-    lesson_periods = LessonPeriod.objects
+    lesson_periods = LessonPeriod.objects.in_week(wanted_week)
 
     if type_ and id_:
         if isinstance(instance, HttpResponseNotFound):
@@ -141,19 +146,13 @@ def week_view(
     else:
         lesson_periods = None
 
-
-    if year and week:
-        wanted_week = CalendarWeek(year=year, week=week)
-    else:
-        wanted_week = CalendarWeek()
-
     lesson_periods = lesson_periods.annotate(
         has_documentation=Exists(
             LessonDocumentation.objects.filter(
                 ~Q(topic__exact=""), lesson_period=OuterRef("pk"), week=wanted_week.week
             )
         )
-    ).in_week(wanted_week)
+    )
 
     # Add a form to filter the view
     if type_:
-- 
GitLab