diff --git a/aurweb/config.py b/aurweb/config.py index eea156f5..6284f794 100644 --- a/aurweb/config.py +++ b/aurweb/config.py @@ -6,7 +6,7 @@ from typing import Any # Publicly visible version of aurweb. This is used to display # aurweb versioning in the footer and must be maintained. # Todo: Make this dynamic/automated. -AURWEB_VERSION = "v6.0.14" +AURWEB_VERSION = "v6.0.15" _parser = None diff --git a/aurweb/routers/packages.py b/aurweb/routers/packages.py index d4e85d20..bc12455d 100644 --- a/aurweb/routers/packages.py +++ b/aurweb/routers/packages.py @@ -40,7 +40,7 @@ async def packages_get(request: Request, context: Dict[str, Any], search_by = context["SeB"] = request.query_params.get("SeB", "nd") # Query sort by. - sort_by = context["SB"] = request.query_params.get("SB", "p") + sort_by = request.query_params.get("SB", None) # Query sort order. sort_order = request.query_params.get("SO", None) @@ -61,11 +61,6 @@ async def packages_get(request: Request, context: Dict[str, Any], for keyword in keywords: search.search_by(search_by, keyword) - # Collect search result count here; we've applied our keywords. - # Including more query operations below, like ordering, will - # increase the amount of time required to collect a count. - num_packages = search.count() - flagged = request.query_params.get("outdated", None) if flagged: # If outdated was given, set it up in the context. @@ -90,15 +85,13 @@ async def packages_get(request: Request, context: Dict[str, Any], search.query = search.query.filter( models.PackageBase.MaintainerUID.is_(None)) - # Apply user-specified specified sort column and ordering. - search.sort_by(sort_by, sort_order) + # Collect search result count here; we've applied our keywords. + # Including more query operations below, like ordering, will + # increase the amount of time required to collect a count. + num_packages = search.count() - # If no SO was given, default the context SO to 'a' (Ascending). - # By default, if no SO is given, the search should sort by 'd' - # (Descending), but display "Ascending" for the Sort order select. - if sort_order is None: - sort_order = "a" - context["SO"] = sort_order + # Apply user-specified sort column and ordering. + search.sort_by(sort_by, sort_order) # Insert search results into the context. results = search.results().with_entities( diff --git a/pyproject.toml b/pyproject.toml index 50691228..cc6e9d2e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ # [tool.poetry] name = "aurweb" -version = "v6.0.14" +version = "v6.0.15" license = "GPL-2.0-only" description = "Source code for the Arch User Repository's website" homepage = "https://aur.archlinux.org" diff --git a/templates/partials/packages/search.html b/templates/partials/packages/search.html index 33bc6132..3db5c7a4 100644 --- a/templates/partials/packages/search.html +++ b/templates/partials/packages/search.html @@ -34,6 +34,9 @@
+ {% if not SB %} + {% set SB = 'p' %} + {% endif %} diff --git a/templates/partials/packages/search_results.html b/templates/partials/packages/search_results.html index c3b4427c..84c39079 100644 --- a/templates/partials/packages/search_results.html +++ b/templates/partials/packages/search_results.html @@ -1,3 +1,5 @@ +{% set reverse_order = "d" if SO == "a" else "a" %} + @@ -5,9 +7,10 @@ {% endif %} {% if request.user.is_authenticated() %}
- {% set order = SO %} {% if SB == "n" %} - {% set order = "d" if order == "a" else "a" %} + {% set order = reverse_order %} + {% else %} + {% set order = SO %} {% endif %} {{ "Name" | tr }} @@ -15,35 +18,39 @@ {{ "Version" | tr }} - {% set order = SO %} {% if SB == "v" %} - {% set order = "d" if order == "a" else "a" %} + {% set order = reverse_order %} + {% else %} + {% set order = SO %} {% endif %} {{ "Votes" | tr }} - {% set order = SO %} {% if SB == "p" %} - {% set order = "d" if order == "a" else "a" %} + {% set order = reverse_order %} + {% else %} + {% set order = SO %} {% endif %} {{ "Popularity" | tr }}? - {% set order = SO %} {% if SB == "w" %} - {% set order = "d" if order == "a" else "a" %} + {% set order = reverse_order %} + {% else %} + {% set order = SO %} {% endif %} {{ "Voted" | tr }} - {% set order = SO %} {% if SB == "o" %} - {% set order = "d" if order == "a" else "a" %} + {% set order = reverse_order %} + {% else %} + {% set order = SO %} {% endif %} {{ "Notify" | tr }} @@ -52,13 +59,14 @@ {% endif %} {{ "Description" | tr }} + {% if SB == "m" %} + {% set order = reverse_order %} + {% else %} {% set order = SO %} - {% if SB == "m" %} - {% set order = "d" if order == "a" else "a" %} - {% endif %} - - {{ "Maintainer" | tr }} - + {% endif %} + + {{ "Maintainer" | tr }} +