diff --git a/biscuit/apps/chronos/templatetags/week_helpers.py b/biscuit/apps/chronos/templatetags/week_helpers.py index 31df6f58a60df6c9c4c5a577199d5bfd45476bb0..5c4e0956e519fb76580999c8a0e6138c90a1bb3b 100644 --- a/biscuit/apps/chronos/templatetags/week_helpers.py +++ b/biscuit/apps/chronos/templatetags/week_helpers.py @@ -1,8 +1,10 @@ from datetime import date +from typing import Optional from django import template +from django.db.query import QuerySet -from ..util import week_days, week_weekday_to_date +from ..util import current_week, week_days, week_weekday_to_date register = template.Library() @@ -18,6 +20,12 @@ def week_end(week: int) -> date: return week_days(week)[-1] +@register.filter +def only_week(qs: QuerySet, week: Optional[int]) -> QuerySet: + wanted_week = week or current_week() + return qs.filter(week=wanted_week) + + @register.simple_tag def weekday_to_date(week: int, weekday: int) -> date: return week_weekday_to_date(week, weekday)