diff --git a/biscuit/apps/chronos/model_extensions.py b/biscuit/apps/chronos/model_extensions.py index b4a6d4adab7ae78f62e8cbca2d0e7ee5a2da13bf..32055e65292f9f1e60b31a4fc8aedd8d2daf4b82 100644 --- a/biscuit/apps/chronos/model_extensions.py +++ b/biscuit/apps/chronos/model_extensions.py @@ -5,14 +5,44 @@ from .models import Lesson, LessonPeriod @Person.property def lessons_as_participant(self): + """ Return a `QuerySet` containing all `Lesson`s this person + participates in (as student). + + .. note:: Only available when BiscuIT-App-Chronos is installed. + + :Date: 2019-11-07 + :Authors: + - Dominik George <dominik.george@teckids.org> + """ + return Lesson.objects.filter(groups__members=self) @Person.property def lesson_periods_as_participant(self): + """ Return a `QuerySet` containing all `LessonPeriod`s this person + participates in (as student). + + .. note:: Only available when BiscuIT-App-Chronos is installed. + + :Date: 2019-11-07 + :Authors: + - Dominik George <dominik.george@teckids.org> + """ + return LessonPeriod.objects.filter(lesson__groups__members=self) @Person.property def lesson_periods_as_teacher(self): + """ Return a `QuerySet` containing all `Lesson`s this person + gives (as teacher). + + .. note:: Only available when BiscuIT-App-Chronos is installed. + + :Date: 2019-11-07 + :Authors: + - Dominik George <dominik.george@teckids.org> + """ + return LessonPeriod.objects.filter(lesson__teachers=self)