diff --git a/aleksis/apps/chronos/menus.py b/aleksis/apps/chronos/menus.py index 201cc5e3041ee141f9215cbaa80a680e33e811fd..b82f3556d8f0279b214a0384889bc95a6220007b 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 a3787c6a8c510259a2d4b3ca397003a258a04857..4716b2a838347e224529b1cd387439e88490ceda 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 cc3c6da817b2af10719e27a70aa8486402aee523..bdb68d006899ba22210153dda8312ebd29d9c75a 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