diff --git a/aleksis/apps/alsijil/urls.py b/aleksis/apps/alsijil/urls.py index 49ccfd90cbac2799fa1dd46af975c935bcfd8beb..7e7139c6c26fe7aa600b6b311b55ae731389c13b 100644 --- a/aleksis/apps/alsijil/urls.py +++ b/aleksis/apps/alsijil/urls.py @@ -11,7 +11,13 @@ urlpatterns = [ ), path("week/", views.week_view, name="week_view"), path("week/<int:year>/<int:week>/", views.week_view, name="week_view_by_week"), + path("week/year/cw/", views.week_view, name="week_view_placeholders"), path("week/<str:type_>/<int:id_>/", views.week_view, name="week_view"), + path( + "week/year/cw/<str:type_>/<int:id_>/", + views.week_view, + name="week_view_placeholders", + ), path( "week/<int:year>/<int:week>/<str:type_>/<int:id_>/", views.week_view, diff --git a/aleksis/apps/alsijil/util.py b/aleksis/apps/alsijil/util.py deleted file mode 100644 index da358059242d744e0e1783b88ca2b5fd96d6577f..0000000000000000000000000000000000000000 --- a/aleksis/apps/alsijil/util.py +++ /dev/null @@ -1,9 +0,0 @@ -from typing import List - - -def append_if_all(iterable: List, *args) -> List: - """Append args to a list if all args are true-like.""" - if all(args): - for a in args: - iterable.append(a) - return iterable diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py index f97509307b7f46c885dc9fa0c559250e52783db8..9c90ede28c1db9d34a2e7f1bff53e89cb53e3757 100644 --- a/aleksis/apps/alsijil/views.py +++ b/aleksis/apps/alsijil/views.py @@ -13,7 +13,6 @@ from django_tables2 import SingleTableView from reversion.views import RevisionMixin from rules.contrib.views import PermissionRequiredMixin -from aleksis.apps.alsijil.util import append_if_all from aleksis.apps.chronos.managers import TimetableType from aleksis.apps.chronos.models import LessonPeriod from aleksis.apps.chronos.util.chronos_helpers import get_el_by_pk @@ -308,16 +307,15 @@ def week_view( week_next = wanted_week + 1 args_prev = [week_prev.year, week_prev.week] args_next = [week_next.year, week_next.week] - args_dest = [wanted_week.year, wanted_week.week] - append_if_all(args_prev, type_, id_) - append_if_all(args_next, type_, id_) - append_if_all(args_dest, type_, id_) + args_dest = [] + if type_ and id_: + args_prev += [type_.value, id_] + args_next += [type_.value, id_] + args_dest += [type_.value, id_] context["week_select"] = { "year": wanted_week.year, - "dest": reverse("week_view_by_week", args=args_dest) - .replace(str(wanted_week.year), "year") - .replace(str(wanted_week.week), "cw"), + "dest": reverse("week_view_placeholders", args=args_dest), } context["url_prev"] = reverse("week_view_by_week", args=args_prev)