From 43f115f51162aca603ae536fa7c1440f470282bf Mon Sep 17 00:00:00 2001 From: magicfelix <felix@felix-zauberer.de> Date: Sun, 7 Aug 2022 12:39:57 +0200 Subject: [PATCH] Add week documentation preference and carry over for CourseBook --- aleksis/apps/alsijil/preferences.py | 10 ++++++++++ aleksis/apps/alsijil/schema.py | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/aleksis/apps/alsijil/preferences.py b/aleksis/apps/alsijil/preferences.py index 2fd34fa7f..756c27494 100644 --- a/aleksis/apps/alsijil/preferences.py +++ b/aleksis/apps/alsijil/preferences.py @@ -80,6 +80,16 @@ class AllowCarryOverLessonDocumentationToCurrentWeek(BooleanPreference): ) +@site_preferences_registry.register +class DocumentLessonTopicsByWeek(BooleanPreference): + section = alsijil + name = "document_lesson_topics_by_week" + default = False + verbose_name = _( + "Document lesson topics per week instead of per lesson period" + ) + + @site_preferences_registry.register class CarryOverPersonalNotesToNextPeriods(BooleanPreference): section = alsijil diff --git a/aleksis/apps/alsijil/schema.py b/aleksis/apps/alsijil/schema.py index 7e88e6971..04161e64c 100644 --- a/aleksis/apps/alsijil/schema.py +++ b/aleksis/apps/alsijil/schema.py @@ -5,6 +5,7 @@ from graphene_django import DjangoObjectType from aleksis.apps.chronos.models import Lesson from aleksis.core.models import Group, Person +from aleksis.core.util.core_helpers import get_site_preferences from .models import ( Event, @@ -112,6 +113,19 @@ class LessonDocumentationMutation(graphene.Mutation): lesson_documentation.save() + if ( + get_site_preferences()["alsijil__document_lesson_topics_by_week"] + and ( + lesson_documentation.topic + or lesson_documentation.homework + or lesson_documentation.group_note + ) + and lesson_documentation.lesson_period + ): + lesson_documentation.carry_over_data( + LessonPeriod.objects.filter(lesson=lesson_documentation.lesson_period.lesson) + ) + return LessonDocumentationMutation(lesson_documentation=lesson_documentation) -- GitLab