From 161d3b13878ffacb8e0927aedfcfb2bec9912368 Mon Sep 17 00:00:00 2001 From: Frank Wiles Date: Fri, 30 Aug 2024 06:41:30 -0500 Subject: [PATCH] Add latest option behavior to latest library and detail pages (#1218) --- libraries/views.py | 12 +++++++----- templates/libraries/detail.html | 2 +- templates/libraries/list.html | 1 + 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/libraries/views.py b/libraries/views.py index 8b36e491..d5e71b0f 100644 --- a/libraries/views.py +++ b/libraries/views.py @@ -60,7 +60,7 @@ class LibraryList(VersionAlertMixin, ListView): """Set the selected version in the cookies.""" valid_versions = Version.objects.version_dropdown_strict() - if version in [v.slug for v in valid_versions]: + if version in [v.slug for v in valid_versions] or version == "latest": response.set_cookie(SELECTED_BOOST_VERSION_COOKIE_NAME, version) else: logger.warning(f"Attempted to set invalid version slug: {version}") @@ -89,7 +89,7 @@ class LibraryList(VersionAlertMixin, ListView): params["version"] = selected_boost_version # default to the most recent version - if "version" not in params: + if "version" not in params or params["version"] == "latest": # If no version is specified, show the most recent version. version = Version.objects.most_recent() if version: @@ -132,10 +132,12 @@ class LibraryList(VersionAlertMixin, ListView): context["category"] = Category.objects.get( slug=self.request.GET["category"] ) - if "version" in self.request.GET: - context["version"] = Version.objects.get(slug=self.request.GET["version"]) - else: + + if "version" not in self.request.GET or self.request.GET["version"] == "latest": context["version"] = Version.objects.most_recent() + else: + context["version"] = Version.objects.get(slug=self.request.GET["version"]) + context["categories"] = self.get_categories(context["version"]) context["versions"] = self.get_versions() context["library_list"] = self.get_queryset() diff --git a/templates/libraries/detail.html b/templates/libraries/detail.html index 17b36d8a..8a700bcd 100644 --- a/templates/libraries/detail.html +++ b/templates/libraries/detail.html @@ -26,7 +26,7 @@ name="version" class="dropdown" id="id_version"> - {% comment %} {% endcomment %} + {% for v in versions %} diff --git a/templates/libraries/list.html b/templates/libraries/list.html index de3aa06c..1cd08a8c 100644 --- a/templates/libraries/list.html +++ b/templates/libraries/list.html @@ -80,6 +80,7 @@ name="version" class="dropdown py-2 ml-auto md:block h-[38px]" id="id_version"> + {% for v in versions %} {% endfor %}