Skip to content
Snippets Groups Projects
Verified Commit 2102352d authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Rename util/weeks.py to util/date.py and add function which return the name for a day from today

parent d477b2bf
No related branches found
No related tags found
1 merge request!36Dashboard widget for SMART PLAN
......@@ -4,7 +4,7 @@ import django.core.validators
import django.db.models.deletion
from django.db import migrations, models
import aleksis.apps.chronos.util.weeks
import aleksis.apps.chronos.util.date
import aleksis.core.util.core_helpers
......@@ -229,7 +229,7 @@ class Migration(migrations.Migration):
(
"week",
models.IntegerField(
default=aleksis.apps.chronos.util.weeks.CalendarWeek.current_week,
default=aleksis.apps.chronos.util.date.CalendarWeek.current_week,
verbose_name="Week",
),
),
......
......@@ -17,7 +17,7 @@ from calendarweek.django import CalendarWeek, i18n_day_names_lazy, i18n_day_abbr
from aleksis.core.mixins import ExtensibleModel
from aleksis.core.models import Group, Person
from aleksis.apps.chronos.util.weeks import week_weekday_from_date
from aleksis.apps.chronos.util.date import week_weekday_from_date
class LessonPeriodManager(models.Manager):
......
......@@ -4,7 +4,7 @@ from typing import Optional, Union
from django import template
from django.db.models.query import QuerySet
from aleksis.apps.chronos.util.weeks import CalendarWeek, week_period_to_date, week_weekday_to_date
from aleksis.apps.chronos.util.date import CalendarWeek, week_period_to_date, week_weekday_to_date
register = template.Library()
......
......@@ -2,6 +2,9 @@ from datetime import date
from typing import Tuple, List, Union
from calendarweek import CalendarWeek
from calendarweek.django import i18n_day_names
from django.utils import timezone
from django.utils.translation import gettext_lazy as _
def week_weekday_from_date(when: date) -> Tuple[CalendarWeek, int]:
......@@ -28,3 +31,21 @@ def get_weeks_for_year(year: int) -> List[CalendarWeek]:
current_week += 1
return weeks
def get_name_for_day_from_today(next_day: date) -> str:
"""
Return the next week day as you would say it from today: "today", "tomorrow" or "<weekday>"
"""
if next_day == timezone.now().date():
# Today
date_formatted = _("today")
elif next_day == timezone.now().date() + timezone.timedelta(days=1):
# Tomorrow
date_formatted = _("tomorrow")
else:
# Other weekday
date_formatted = i18n_day_names()[next_day.weekday()]
return date_formatted
......@@ -20,7 +20,7 @@ from .models import LessonPeriod, LessonSubstitution, TimePeriod, Room
from .tables import LessonsTable
from .util.js import date_unix
from .util.prev_next import get_next_relevant_day, get_prev_next_by_day
from .util.weeks import CalendarWeek, get_weeks_for_year
from .util.date import CalendarWeek, get_weeks_for_year
from aleksis.core.util.core_helpers import has_person
......
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