From 4ae705e6fe5a560faa7c1e9fd6031f4af4c0b2f5 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Mon, 12 Dec 2022 16:53:58 +0000
Subject: [PATCH] Resolve "[Full register printout] Events are also shown for
 days which are not in the timetable schema"

---
 CHANGELOG.rst                 | 1 +
 aleksis/apps/alsijil/tasks.py | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 7680489d9..6e62cd43e 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -21,6 +21,7 @@ Fixed
 
 * Extra marks and excused absences were counted multiple times in some class register views.
 * Substitution teachers couldn't see any persons in the person list of a substituted lesson.
+* Events were shown for days not being inside the timetable schema in full register printout.
 
 `2.1.1`_ - 2022-09-01
 ---------------------
diff --git a/aleksis/apps/alsijil/tasks.py b/aleksis/apps/alsijil/tasks.py
index aa8de7b5a..7eaf8c01a 100644
--- a/aleksis/apps/alsijil/tasks.py
+++ b/aleksis/apps/alsijil/tasks.py
@@ -87,6 +87,11 @@ def generate_full_register_printout(group: int, file_object: int, recorder: Prog
             day = event.date_start + timedelta(days=i)
             event_copy = deepcopy(event)
             event_copy.annotate_day(day)
+
+            # Skip event days if it isn't inside the timetable schema
+            if not (event_copy.raw_period_from_on_day and event_copy.raw_period_to_on_day):
+                continue
+
             register_objects_by_day.setdefault(day, []).append(
                 (
                     event_copy,
-- 
GitLab