From 767bb33bd0922a96cdd3f11cac633411334e6f21 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Thu, 30 Jan 2020 19:03:50 +0100
Subject: [PATCH] Make number of days shown in substitutions print view
 configurable

---
 aleksis/apps/chronos/settings.py | 8 ++++++++
 aleksis/apps/chronos/views.py    | 5 +++--
 2 files changed, 11 insertions(+), 2 deletions(-)
 create mode 100644 aleksis/apps/chronos/settings.py

diff --git a/aleksis/apps/chronos/settings.py b/aleksis/apps/chronos/settings.py
new file mode 100644
index 00000000..1ae08d71
--- /dev/null
+++ b/aleksis/apps/chronos/settings.py
@@ -0,0 +1,8 @@
+from django.utils.translation import gettext_lazy as _
+
+CONSTANCE_CONFIG = {
+    "CHRONOS_SUBSTITUTIONS_PRINT_DAY_NUMBER": (2, _("Number of days shown on substitutions print view")),
+}
+CONSTANCE_CONFIG_FIELDSETS = {
+    "Chronos settings": ("CHRONOS_SUBSTITUTIONS_PRINT_DAY_NUMBER",),
+}
diff --git a/aleksis/apps/chronos/views.py b/aleksis/apps/chronos/views.py
index 7ff6e039..32de5b6e 100644
--- a/aleksis/apps/chronos/views.py
+++ b/aleksis/apps/chronos/views.py
@@ -2,6 +2,7 @@ from collections import OrderedDict
 from datetime import date, datetime, timedelta
 from typing import Optional, Tuple
 
+from constance import config
 from django.contrib.auth.decorators import login_required
 from django.db.models import Count
 from django.http import HttpRequest, HttpResponse, HttpResponseNotFound
@@ -310,12 +311,12 @@ def substitutions(
     else:
         wanted_day = get_next_relevant_day(timezone.now().date(), datetime.now().time())
 
-    DAY_COUNT = 2
+    day_number = config.CHRONOS_SUBSTITUTIONS_PRINT_DAY_NUMBER
     day_contexts = {}
 
     if is_print:
         next_day = wanted_day
-        for i in range(DAY_COUNT):
+        for i in range(day_number):
             day_contexts[next_day] = {"day": next_day}
             next_day = get_next_relevant_day(next_day + timedelta(days=1))
     else:
-- 
GitLab