From 67de68a666003f977ae9a0b43e80fc8ca154749a Mon Sep 17 00:00:00 2001 From: Almad Date: Tue, 27 Aug 2024 21:29:16 +0200 Subject: [PATCH] More legacy redirects --- ddcz/urls.py | 5 +++++ ddcz/views/creations.py | 8 ++++++++ ddcz/views/legacy.py | 4 ++++ 3 files changed, 17 insertions(+) diff --git a/ddcz/urls.py b/ddcz/urls.py index bc018d3..d234df5 100644 --- a/ddcz/urls.py +++ b/ddcz/urls.py @@ -89,6 +89,11 @@ views.quest_view_redirect, name="quest-view", ), + re_path( + "dobrodruzstvi/(?P\d+)(-)?(?P[a-zA-Z0-9_-]+)?/(?P.*)$", + views.quest_view_redirect_rest, + name="quest-view-rest", + ), ### User handling path("uzivatele/", views.users_list, name="users-list"), path("uzivatel/prihlaseni/", views.login, name="login-action"), diff --git a/ddcz/views/creations.py b/ddcz/views/creations.py index b174914..fbdffd9 100644 --- a/ddcz/views/creations.py +++ b/ddcz/views/creations.py @@ -1,4 +1,5 @@ import logging +from urllib.parse import urljoin from zlib import crc32 from django.apps import apps @@ -331,6 +332,13 @@ def quest_view_redirect(request, quest_id, quest_slug=None): return HttpResponseRedirect(quest.get_final_url()) +# For content like /dobrodruzstvi/13/img/kylmar.gif +@require_http_methods(["HEAD", "GET"]) +def quest_view_redirect_rest(request, quest_id, quest_slug=None, leftover=None): + quest = get_object_or_404(Quest, pk=quest_id) + return HttpResponseRedirect(urljoin(quest.get_final_url(), leftover)) + + @require_http_methods(["HEAD", "GET"]) def author_detail(request, author_id, slug): author = get_object_or_404(Author, id=author_id) diff --git a/ddcz/views/legacy.py b/ddcz/views/legacy.py index 827f206..8c3db32 100644 --- a/ddcz/views/legacy.py +++ b/ddcz/views/legacy.py @@ -77,6 +77,10 @@ @require_http_methods(["HEAD", "GET"]) def legacy_router(request): + # just index.php, return to / + if not request.GET: + return HttpResponseRedirect(reverse("ddcz:news")) + page_category = request.GET.get("rub", False) page_creation_type = request.GET.get("co", False) id = request.GET.get("id", False)