From f511284a1330bada31011efa087bd3f3e85d3e6e Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Sun, 27 Oct 2019 21:52:28 +0100
Subject: [PATCH] Use within_dates in in_week.

---
 biscuit/apps/chronos/models.py | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/biscuit/apps/chronos/models.py b/biscuit/apps/chronos/models.py
index 4040d4e1..b963bf85 100644
--- a/biscuit/apps/chronos/models.py
+++ b/biscuit/apps/chronos/models.py
@@ -32,19 +32,19 @@ class LessonPeriodManager(models.Manager):
 class LessonPeriodQuerySet(models.QuerySet):
     """ Overrides default QuerySet to add specific methods for lesson data. """
 
-    def in_week(self, wanted_week: CalendarWeek):
-        """ Filter for all lessons within a calendar week. """
-
-        return self.filter(
-            lesson__date_start__lte=wanted_week[0] + timedelta(days=1) * (models.F('period__weekday') - 1),
-            lesson__date_end__gte=wanted_week[0] + timedelta(days=1) * (models.F('period__weekday') - 1)
-        ).annotate_week(wanted_week)
-
     def within_dates(self, start: date, end: date):
         """ Filter for all lessons within a date range. """
 
         return self.filter(lesson__date_start__lte=start, lesson__date_end__gte=end)
 
+    def in_week(self, wanted_week: CalendarWeek):
+        """ Filter for all lessons within a calendar week. """
+
+        return self.within_dates(
+            wanted_week[0] + timedelta(days=1) * (models.F('period__weekday') - 1),
+            wanted_week[0] + timedelta(days=1) * (models.F('period__weekday') - 1)
+        ).annotate_week(wanted_week)
+
     def on_day(self, day: date):
         """ Filter for all lessons on a certain day. """
 
-- 
GitLab