From 4b1e0a9cfe6fbde4e2d2c6b7c05980babaa6a76d Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Wed, 12 Aug 2020 16:55:47 +0200 Subject: [PATCH] Support triple, quadruple, ... periods in carry_over_data, too --- aleksis/apps/alsijil/models.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index a7f6485c9..f74454704 100644 --- a/aleksis/apps/alsijil/models.py +++ b/aleksis/apps/alsijil/models.py @@ -111,13 +111,13 @@ class LessonDocumentation(ExtensibleModel): Can be deactivated using site preference ``alsijil__carry_over``. """ - try: - second_period = LessonPeriod.objects.get( - lesson=self.lesson_period.lesson, - period__weekday=self.lesson_period.period.weekday, - period__period=self.lesson_period.period.period + 1, - ) - lesson_documentation = second_period.get_or_create_lesson_documentation( + following_periods = LessonPeriod.objects.filter( + lesson=self.lesson_period.lesson, + period__weekday=self.lesson_period.period.weekday, + period__period__gt=self.lesson_period.period.period, + ) + for period in following_periods: + lesson_documentation = period.get_or_create_lesson_documentation( CalendarWeek( week=self.week, year=self.lesson_period.lesson.get_year(self.week), ) @@ -139,9 +139,6 @@ class LessonDocumentation(ExtensibleModel): if changed: lesson_documentation.save() - except LessonPeriod.DoesNotExist: - # Do nothing if it's a single period - pass def save(self, *args, **kwargs): if get_site_preferences()["alsijil__carry_over"] and ( -- GitLab