From 572f49563e8fefa043766ecd94fff8899ef20734 Mon Sep 17 00:00:00 2001 From: Aevann Date: Sat, 3 Feb 2024 01:15:12 +0200 Subject: [PATCH] paginate /admin/shadowbanned --- files/routes/admin.py | 24 +++++++++++++++++++-- files/templates/admin/shadowbanned.html | 28 ++++++++++++++++++------- 2 files changed, 42 insertions(+), 10 deletions(-) diff --git a/files/routes/admin.py b/files/routes/admin.py index 45d27e061..65d5fbcfd 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -277,9 +277,29 @@ def revert_actions(v, username): @limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID) @admin_level_required(PERMS['USER_SHADOWBAN']) def shadowbanned(v): - users = g.db.query(User).filter(User.shadowbanned != None).order_by(User.ban_reason).all() + sort = request.values.get("sort") - return render_template("admin/shadowbanned.html", v=v, users=users) + page = get_page() + + users = g.db.query(User).filter(User.shadowbanned != None) + + total = users.count() + + if sort == "name": + key = User.username + elif sort == "truescore": + key = User.truescore.desc() + elif sort == "shadowban_reason": + key = User.ban_reason + elif sort == "shadowbanned_by": + key = User.shadowbanned + else: + sort = "last_active" + key = User.last_active + + users = users.order_by(key).offset(PAGE_SIZE * (page - 1)).limit(PAGE_SIZE) + + return render_template("admin/shadowbanned.html", v=v, users=users, sort=sort, total=total, page=page) @app.get("/admin/image_posts") diff --git a/files/templates/admin/shadowbanned.html b/files/templates/admin/shadowbanned.html index f50ccfe07..2ebc69212 100644 --- a/files/templates/admin/shadowbanned.html +++ b/files/templates/admin/shadowbanned.html @@ -6,24 +6,36 @@ - - - - - - + + + + + {% for user in users %} - - + {% endfor %}
#NameLast ActiveTruescoreShadowbanned byShadowban reason + Name + + Truescore + + Shadowban reason + + Shadowbanned by + + Last Active +
{{loop.index}} {%- include 'user_in_table.html' -%} {{user.truescore}}{{user.shadowbanner}}{{user.shadowbanned_by}} {{user.ban_reason | safe}}
{% endblock %} + +{% block pagenav %} + {% include "pagination.html" %} +{% endblock %}