diff --git a/mandelstudio/templates/oxyan/headers/partials/carbasa-user-bar.html b/mandelstudio/templates/oxyan/headers/partials/carbasa-user-bar.html index c6a9b72..c070b2c 100644 --- a/mandelstudio/templates/oxyan/headers/partials/carbasa-user-bar.html +++ b/mandelstudio/templates/oxyan/headers/partials/carbasa-user-bar.html @@ -1,10 +1,9 @@ -{% load i18n localized_navigation %} +{% load i18n %}
{% get_current_language as current_language %} {% get_available_languages as available_languages %} {% get_language_info_list for available_languages as languages %} - {% request_language_options as language_options %} diff --git a/mandelstudio/templatetags/localized_navigation.py b/mandelstudio/templatetags/localized_navigation.py index 2af5d7d..017aaa7 100644 --- a/mandelstudio/templatetags/localized_navigation.py +++ b/mandelstudio/templatetags/localized_navigation.py @@ -3,7 +3,7 @@ from __future__ import annotations from django import template from django.conf import settings -from wagtail.models import Locale, Page, Site +from wagtail.models import Page register = template.Library() @@ -47,63 +47,6 @@ def _build_absolute_url(request, path: str | None, page=None) -> str: return path or "" -def _resolve_page_from_request(request) -> Page | None: - """ - Best-effort resolution of the Wagtail page for the current request. - - This is used by the language switcher ESI fragment where `page/self` isn't - available in the template context. - """ - if request is None: - return None - - try: - site = Site.find_for_request(request) - except Exception: # pragma: no cover - site = None - - if site is None: - site = Site.objects.filter(is_default_site=True).first() - if site is None: - return None - - path = getattr(request, "path_info", None) or getattr(request, "path", "/") - path_components = [c for c in path.strip("/").split("/") if c] - - try: - locale_codes = set(Locale.objects.values_list("language_code", flat=True)) - except Exception: # pragma: no cover - locale_codes = set() - - if path_components and path_components[0] in locale_codes: - path_components = path_components[1:] - - root = site.root_page - language_code = getattr(request, "LANGUAGE_CODE", None) - locale = None - if language_code: - try: - locale = Locale.objects.get( - language_code=_normalize_language_code(language_code) - ) - except Locale.DoesNotExist: - locale = None - - if locale is not None: - translated_root = ( - Page.objects.filter(translation_key=root.translation_key, locale=locale) - .specific() - .first() - ) - if translated_root is not None: - root = translated_root - - try: - return root.specific.route(request, path_components).page.specific - except Exception: - return None - - @register.simple_tag def page_language_options(page): labels = { @@ -139,14 +82,6 @@ def page_language_options(page): return options -@register.simple_tag(takes_context=True) -def request_language_options(context): - page = context.get("page") or context.get("self") - if page is None: - page = _resolve_page_from_request(context.get("request")) - return page_language_options(page) - - @register.simple_tag(takes_context=True) def page_canonical_url(context): request = context.get("request")