diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index 9b9eb9d402bdf6feac213d87b80ca248a37a1f6c..4ae43ea60de19e01ec1c7b874ab30747c195ffce 100644 --- a/aleksis/apps/alsijil/models.py +++ b/aleksis/apps/alsijil/models.py @@ -312,6 +312,33 @@ class LessonDocumentation(RegisterObjectRelatedMixin, ExtensibleModel): if changed: lesson_documentation.save() + if not self.lesson_period.week: + self.lesson_period.annotate_week(CalendarWeek(year=self.year, week=self.week)) + + previous_lesson = self.lesson_period.prev + + if previous_lesson: + lesson_documentation = previous_lesson.get_or_create_lesson_documentation( + CalendarWeek(week=self.week, year=self.year) + ) + + changed = False + + if not lesson_documentation.topic: + lesson_documentation.topic = self.topic + changed = True + + if not lesson_documentation.homework: + lesson_documentation.homework = self.homework + changed = True + + if not lesson_documentation.group_note: + lesson_documentation.group_note = self.group_note + changed = True + + if changed: + lesson_documentation.save() + def __str__(self) -> str: return f"{self.lesson_period}, {self.date_formatted}"