Skip to content

Commit a986609

Browse files
committed
chore: ensure version_slug kwarg is using BoostVersionSlugConverter
1 parent ed76cbf commit a986609

3 files changed

Lines changed: 11 additions & 2 deletions

File tree

config/urls.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@
115115
"DEBUG_TOOLBAR enabled but Django Debug Toolbar not installed. Run `just build`"
116116
)
117117

118-
register_converter(BoostVersionSlugConverter, "boostversionslug")
118+
register_converter(BoostVersionSlugConverter, BoostVersionSlugConverter.URL_TYPE_NAME)
119119

120120
router = routers.SimpleRouter()
121121

core/context_processors.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,15 @@
66

77
from libraries.constants import LATEST_RELEASE_URL_PATH_STR
88
from libraries.utils import get_version_from_cookie
9+
from versions.converters import BoostVersionSlugConverter
910
from versions.models import Version
1011

1112

13+
_BOOST_VERSION_SLUG_ROUTE_TOKEN = (
14+
f"<{BoostVersionSlugConverter.URL_TYPE_NAME}:version_slug>"
15+
)
16+
17+
1218
def _get_header_version_data(request):
1319
"""Per-request shared accessor so `current_version` and `selected_version`
1420
share one DB fetch within a single request."""
@@ -83,7 +89,9 @@ def selected_version(request):
8389
"""
8490
url_version_slug = None
8591
resolver_match = getattr(request, "resolver_match", None)
86-
if resolver_match:
92+
if resolver_match and _BOOST_VERSION_SLUG_ROUTE_TOKEN in (
93+
resolver_match.route or ""
94+
):
8795
url_version_slug = resolver_match.kwargs.get("version_slug")
8896

8997
is_url_driven = bool(url_version_slug)

versions/converters.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def to_url(value):
2424

2525

2626
class BoostVersionSlugConverter:
27+
URL_TYPE_NAME = "boostversionslug"
2728
regex = r"[a-zA-Z0-9\-\.]+"
2829

2930
def to_python(self, value):

0 commit comments

Comments
 (0)