From 60a33a6492ca5f84e8d6b203f42313d2d9563295 Mon Sep 17 00:00:00 2001 From: rubenwardy Date: Sat, 30 Jan 2021 00:02:40 +0000 Subject: [PATCH] Add ability to sort outdated packages list --- app/blueprints/todo/__init__.py | 14 ++++++++++---- app/templates/todo/outdated.html | 12 ++++++++++++ app/templates/todo/topics.html | 17 ++++++++--------- 3 files changed, 30 insertions(+), 13 deletions(-) diff --git a/app/blueprints/todo/__init__.py b/app/blueprints/todo/__init__.py index 0aa9683..e09e774 100644 --- a/app/blueprints/todo/__init__.py +++ b/app/blueprints/todo/__init__.py @@ -174,10 +174,16 @@ def view_user(username=None): @bp.route("/todo/outdated/") @login_required def outdated(): - outdated_packages = db.session.query(Package).select_from(PackageUpdateConfig) \ + query = db.session.query(Package).select_from(PackageUpdateConfig) \ .filter(PackageUpdateConfig.outdated_at.isnot(None)) \ - .order_by(db.desc(PackageUpdateConfig.outdated_at)) \ .join(PackageUpdateConfig.package) \ - .filter(Package.state == PackageState.APPROVED).all() + .filter(Package.state == PackageState.APPROVED) - return render_template("todo/outdated.html", current_tab="outdated", outdated_packages=outdated_packages) + sort_by = request.args.get("sort") + if sort_by == "score": + query = query.order_by(db.desc(Package.score)) + else: + query = query.order_by(db.desc(PackageUpdateConfig.outdated_at)) + + return render_template("todo/outdated.html", current_tab="outdated", + outdated_packages=query.all(), sort_by=sort_by) diff --git a/app/templates/todo/outdated.html b/app/templates/todo/outdated.html index 2e55131..7b20256 100644 --- a/app/templates/todo/outdated.html +++ b/app/templates/todo/outdated.html @@ -5,6 +5,18 @@ {% endblock %} {% block content %} +
+ + Sort by date + + + Sort by score + +
+
+ {% from "macros/todo.html" import render_outdated_packages %} {{ render_outdated_packages(outdated_packages) }} {% endblock %} diff --git a/app/templates/todo/topics.html b/app/templates/todo/topics.html index b444368..70f0cd4 100644 --- a/app/templates/todo/topics.html +++ b/app/templates/todo/topics.html @@ -6,38 +6,37 @@ Topics to be Added {% block content %}
- - -
+
{% if current_user.rank.atLeast(current_user.rank.EDITOR) %} {% if n >= 10000 %} - Paginated list {% else %} - Unlimited list {% endif %} {% endif %} - + {% if not show_discarded %} Show {% else %}