diff --git a/biscuit/apps/chronos/templatetags/week_helpers.py b/biscuit/apps/chronos/templatetags/week_helpers.py index a30af503f4df8a7e56e7970f2b0e3605357e5ef8..31df6f58a60df6c9c4c5a577199d5bfd45476bb0 100644 --- a/biscuit/apps/chronos/templatetags/week_helpers.py +++ b/biscuit/apps/chronos/templatetags/week_helpers.py @@ -2,7 +2,7 @@ from datetime import date from django import template -from ..util import week_days +from ..util import week_days, week_weekday_to_date register = template.Library() @@ -16,3 +16,13 @@ def week_start(week: int) -> date: @register.filter def week_end(week: int) -> date: return week_days(week)[-1] + + +@register.simple_tag +def weekday_to_date(week: int, weekday: int) -> date: + return week_weekday_to_date(week, weekday) + + +@register.simple_tag +def today() -> date: + return date.today() diff --git a/biscuit/apps/chronos/util.py b/biscuit/apps/chronos/util.py index 85cd40f3954a2eff1ca63f0d91d675cdaf61d608..88b010dc0b358ac245e3b4f7fcf963dee3ad9662 100644 --- a/biscuit/apps/chronos/util.py +++ b/biscuit/apps/chronos/util.py @@ -34,3 +34,7 @@ def current_lesson_periods(when: Optional[datetime] = None) -> models.query.Quer def week_weekday_from_date(when: date) -> Sequence[int]: return (int(when.strftime('%V')), int(when.strftime('%u'))) + + +def week_weekday_to_date(week: int, weekday: int) -> date: + return week_days(week)[weekday]