diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index 574409062db2cee597a40568c7abd2e19bd41e0f..4eecb39f4ca4290c3d650d333a78f22d2dc76279 100644 --- a/aleksis/apps/alsijil/models.py +++ b/aleksis/apps/alsijil/models.py @@ -285,12 +285,10 @@ class LessonDocumentation(RegisterObjectRelatedMixin, ExtensibleModel): Can be deactivated using site preference ``alsijil__carry_over``. """ - 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, + all_periods_of_lesson = LessonPeriod.objects.filter( + lesson=self.lesson_period.lesson, period__weekday=self.lesson_period.period.weekday, ) - for period in following_periods: + for period in all_periods_of_lesson: lesson_documentation = period.get_or_create_lesson_documentation( CalendarWeek(week=self.week, year=self.year) ) @@ -310,16 +308,17 @@ class LessonDocumentation(RegisterObjectRelatedMixin, ExtensibleModel): changed = True if changed: - lesson_documentation.save() + lesson_documentation.save(carry_over=False) def __str__(self) -> str: return f"{self.lesson_period}, {self.date_formatted}" - def save(self, *args, **kwargs): + def save(self, carry_over=True, *args, **kwargs): if ( get_site_preferences()["alsijil__carry_over"] and (self.topic or self.homework or self.group_note) and self.lesson_period + and carry_over ): self._carry_over_data() super().save(*args, **kwargs)