From a30bae357c08b4f6ef215dc8ea5c9b680369ba63 Mon Sep 17 00:00:00 2001 From: lloydmeins <github@lloydmeins.de> Date: Fri, 2 Apr 2021 16:12:58 +0200 Subject: [PATCH] Carry topic and relevant notes to previous lesson in block lessons --- aleksis/apps/alsijil/models.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index 9b9eb9d40..4ae43ea60 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}" -- GitLab