From ccde2e292d6a0202aedd44db26a99139908f5a7c Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Sun, 15 Sep 2019 22:41:10 +0200
Subject: [PATCH] Filter lesosns for current term and pass weeks in term to
 template.

---
 biscuit/apps/alsijil/views.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/biscuit/apps/alsijil/views.py b/biscuit/apps/alsijil/views.py
index a8863f081..95a400cc4 100644
--- a/biscuit/apps/alsijil/views.py
+++ b/biscuit/apps/alsijil/views.py
@@ -183,6 +183,9 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
             ~Q(topic__exact=''),
             lesson_period=OuterRef('pk'),
         ))
+    ).filter(
+        lesson__date_start__gte=group.school.current_term.date_start,
+        lesson__date_end__lte=group.school.current_term.date_end
     ).select_related(
         'lesson', 'lesson__subject', 'period', 'room'
     ).prefetch_related(
@@ -213,8 +216,18 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse:
         ))
     )
 
+    weeks = CalendarWeek.weeks_within(group.school.current_term.date_start, group.school.current_term.date_end)
+    periods_by_day = {}
+    for week in weeks:
+        for day in week:
+            periods_by_day[day] = lesson_periods.filter(
+                period__weekday=day.isoweekday()
+            )
+
     context['group'] = group
+    context['weeks'] = weeks
     context['lesson_periods'] = lesson_periods
+    context['periods_by_day'] = periods_by_day
     context['persons'] = persons
 
     return render(request, 'alsijil/print/full_register.html', context)
-- 
GitLab