mirror of
https://github.com/boostorg/website-v2.git
synced 2026-01-19 04:42:17 +00:00
Add latest option behavior to latest library and detail pages (#1218)
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
name="version"
|
||||
class="dropdown"
|
||||
id="id_version">
|
||||
{% comment %} <option>Filter by version</option> {% endcomment %}
|
||||
<option value="latest" {% if version == "latest" %}selected="selected"{% endif %}>Latest</option>
|
||||
{% for v in versions %}
|
||||
<option value="{{ v.pk }}"
|
||||
{% if version == v %}selected="selected"{% endif %}>{{ v.display_name }}</option>
|
||||
|
||||
@@ -80,6 +80,7 @@
|
||||
name="version"
|
||||
class="dropdown py-2 ml-auto md:block h-[38px]"
|
||||
id="id_version">
|
||||
<option value="latest" {% if version == "latest" %}selected="selected"{% endif %}>Latest</option>
|
||||
{% for v in versions %}
|
||||
<option value="{{ v.slug }}" {% if version == v %}selected="selected"{% endif %}>{{ v.display_name }}</option>
|
||||
{% endfor %}
|
||||
|
||||
Reference in New Issue
Block a user