From 912a2479f91d9e5ed5aa0fe5bbd56b3d0caf914d Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Sat, 18 Jan 2020 17:51:53 +0100 Subject: [PATCH] Add base structure for "My timetable" --- aleksis/apps/chronos/menus.py | 2 +- aleksis/apps/chronos/urls.py | 2 ++ aleksis/apps/chronos/views.py | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/aleksis/apps/chronos/menus.py b/aleksis/apps/chronos/menus.py index 201cc5e3..b82f3556 100644 --- a/aleksis/apps/chronos/menus.py +++ b/aleksis/apps/chronos/menus.py @@ -14,7 +14,7 @@ MENUS = { "submenu": [ { "name": _("My timetable"), - "url": "timetable", + "url": "my_timetable", "icon": "person", "validators": ["menu_generator.validators.is_authenticated"], }, diff --git a/aleksis/apps/chronos/urls.py b/aleksis/apps/chronos/urls.py index a3787c6a..4716b2a8 100644 --- a/aleksis/apps/chronos/urls.py +++ b/aleksis/apps/chronos/urls.py @@ -4,6 +4,8 @@ from . import views urlpatterns = [ path("", views.all, name="all_timetables"), + path("timetable/my/", views.my_timetable, name="my_timetable"), + path("timetable/my/<int:year>/<int:week>/", views.my_timetable, name="my_timetable"), path("timetable/<str:type_>/<int:pk>/", views.timetable, name="timetable"), path("timetable/<str:type_>/<int:pk>/<int:year>/<int:week>/", views.timetable, name="timetable_by_week"), path("timetable/<str:type_>/<int:pk>/<str:regular>/", views.timetable, name="timetable_regular"), diff --git a/aleksis/apps/chronos/views.py b/aleksis/apps/chronos/views.py index cc3c6da8..bdb68d00 100644 --- a/aleksis/apps/chronos/views.py +++ b/aleksis/apps/chronos/views.py @@ -77,6 +77,21 @@ def all(request: HttpRequest) -> HttpResponse: return render(request, 'chronos/quicklaunch.html', context) +@login_required +def my_timetable( + request: HttpRequest, year: Optional[int] = None, month: Optional[int] = None, day: Optional[int] = None +) -> HttpResponse: + context = {} + + if day: + wanted_day = timezone.datetime(year=year, month=month, day=day).date() + wanted_day = get_next_relevant_day(wanted_day) + else: + wanted_day = get_next_relevant_day(timezone.now().date(), datetime.now().time()) + + return render(request, "chronos/myplan.html", context) + + @login_required def timetable( request: HttpRequest, type_: str, pk: int, year: Optional[int] = None, week: Optional[int] = None, regular: Optional[str] = None -- GitLab