Skip to content
Snippets Groups Projects
Verified Commit d06b7314 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Move current_lesson_periods() to queryset. Advances #33, #34.

parent 135db922
No related branches found
No related tags found
No related merge requests found
...@@ -50,6 +50,15 @@ class LessonPeriodQuerySet(models.QuerySet): ...@@ -50,6 +50,15 @@ class LessonPeriodQuerySet(models.QuerySet):
select={'_week': week.week} select={'_week': week.week}
) )
def at_time(self, when: Optional[datetime] = None):
now = when or datetime.now()
return self.filter(lesson__date_start__lte=now.date(),
lesson__date_end__gte=now.date(),
period__weekday=now.isoweekday(),
period__time_start__lte=now.time(),
period__time_end__gte=now.time())
def filter_group(self, group: Union[Group, int]): def filter_group(self, group: Union[Group, int]):
return self.filter( return self.filter(
Q(lesson__groups=group) | Q(lesson__groups__parent_groups=group)) Q(lesson__groups=group) | Q(lesson__groups__parent_groups=group))
......
...@@ -91,17 +91,6 @@ class CalendarWeek: ...@@ -91,17 +91,6 @@ class CalendarWeek:
return self.__class__.from_date(self[0] - timedelta(days=weeks * 7)) return self.__class__.from_date(self[0] - timedelta(days=weeks * 7))
def current_lesson_periods(when: Optional[datetime] = None) -> models.query.QuerySet:
now = when or datetime.now()
LessonPeriod = apps.get_model('chronos.LessonPeriod')
return LessonPeriod.objects.filter(lesson__date_start__lte=now.date(),
lesson__date_end__gte=now.date(),
period__weekday=now.isoweekday(),
period__time_start__lte=now.time(),
period__time_end__gte=now.time())
def week_weekday_from_date(when: date) -> Tuple[CalendarWeek, int]: def week_weekday_from_date(when: date) -> Tuple[CalendarWeek, int]:
return (CalendarWeek.from_date(when), when.isoweekday()) return (CalendarWeek.from_date(when), when.isoweekday())
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment