diff --git a/aleksis/apps/chronos/managers.py b/aleksis/apps/chronos/managers.py index 7093cfec2c698370f6178eb9efbcd8b3d852018f..51d6ac522623ff6e068714c89d6cf84b77d5f034 100644 --- a/aleksis/apps/chronos/managers.py +++ b/aleksis/apps/chronos/managers.py @@ -12,7 +12,6 @@ from aleksis.apps.chronos.util.date import week_weekday_from_date from aleksis.core.models import Group, Person from aleksis.core.util.core_helpers import get_site_preferences -from .models import LessonPeriod class TimetableType(Enum): diff --git a/aleksis/apps/chronos/model_extensions.py b/aleksis/apps/chronos/model_extensions.py index 6ad665587dfd1db2c7c4efb23cfa3ff3307e081a..ac9f9e790c8f504359cd4d6e52c5ea22dcb73730 100644 --- a/aleksis/apps/chronos/model_extensions.py +++ b/aleksis/apps/chronos/model_extensions.py @@ -10,13 +10,13 @@ from .managers import TimetableType from .models import Lesson, LessonPeriod -@Person.property +@Person.property_ def is_teacher(self): """Check if the user has lessons as a teacher.""" return self.lesson_periods_as_teacher.exists() -@Person.property +@Person.property_ def timetable_type(self) -> Optional[TimetableType]: """Return which type of timetable this user has.""" if self.is_teacher: @@ -27,7 +27,7 @@ def timetable_type(self) -> Optional[TimetableType]: return None -@Person.property +@Person.property_ def timetable_object(self) -> Optional[Union[Group, Person]]: """Return the object which has the user's timetable.""" type_ = self.timetable_type @@ -40,7 +40,7 @@ def timetable_object(self) -> Optional[Union[Group, Person]]: return None -@Person.property +@Person.property_ def lessons_as_participant(self): """Return a `QuerySet` containing all `Lesson`s this person participates in (as student). @@ -53,7 +53,7 @@ def lessons_as_participant(self): return Lesson.objects.filter(groups__members=self) -@Person.property +@Person.property_ def lesson_periods_as_participant(self): """Return a `QuerySet` containing all `LessonPeriod`s this person participates in (as student). @@ -66,7 +66,7 @@ def lesson_periods_as_participant(self): return LessonPeriod.objects.filter(lesson__groups__members=self) -@Person.property +@Person.property_ def lesson_periods_as_teacher(self): """Return a `QuerySet` containing all `Lesson`s this person gives (as teacher). diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py index 204e92ffb61bc49017b9bff7885a67319bb107f8..382a3e34c36c611ee6cf0b0ab4e4f8876b56181f 100644 --- a/aleksis/apps/chronos/models.py +++ b/aleksis/apps/chronos/models.py @@ -114,27 +114,27 @@ class TimePeriod(ExtensibleModel): return url_prev, url_next @classproperty - def period_min(self, cls) -> int: + def period_min(cls) -> int: return cls.objects.aggregate(period__min=Coalesce(Min("period"), 1)).get("period__min") @classproperty - def period_max(self, cls) -> int: + def period_max(cls) -> int: return cls.objects.aggregate(period__max=Coalesce(Max("period"), 7)).get("period__max") @classproperty - def time_min(self, cls) -> Optional[time]: + def time_min(cls) -> Optional[time]: return cls.objects.aggregate(Min("time_start")).get("time_start__min") @classproperty - def time_max(self, cls) -> Optional[time]: + def time_max(cls) -> Optional[time]: return cls.objects.aggregate(Max("time_end")).get("time_end__max") @classproperty - def weekday_min(self, cls) -> int: + def weekday_min(cls) -> int: return cls.objects.aggregate(weekday__min=Coalesce(Min("weekday"), 0)).get("weekday__min") @classproperty - def weekday_max(self, cls) -> int: + def weekday_max(cls) -> int: return cls.objects.aggregate(weekday__max=Coalesce(Max("weekday"), 6)).get("weekday__max") class Meta: diff --git a/aleksis/apps/chronos/util/format.py b/aleksis/apps/chronos/util/format.py index b5bf35c7816882330b3491b2957d2d84f307b3b8..ee9be702d00506f118974e533dd237f63825fb76 100644 --- a/aleksis/apps/chronos/util/format.py +++ b/aleksis/apps/chronos/util/format.py @@ -2,8 +2,6 @@ from datetime import date from django.utils.formats import date_format -from ..models import TimePeriod - def format_m2m(f, attr: str = "short_name") -> str: """Join a attribute of all elements of a ManyToManyField."""