diff --git a/files/routes/users.py b/files/routes/users.py index d7310a011..1c032326d 100644 --- a/files/routes/users.py +++ b/files/routes/users.py @@ -328,13 +328,32 @@ def user_voted_comments(v, username): @limiter.limit(DEFAULT_RATELIMIT, deduct_when=lambda response: response.status_code < 400, key_func=get_ID) @auth_required def banned(v): + sort = request.values.get("sort") + + page = get_page() + users = g.db.query(User).filter( User.is_banned != None, or_(User.unban_utc == 0, User.unban_utc > time.time()), - ).order_by(User.ban_reason) + ) - users = users.all() - return render_template("banned.html", v=v, users=users) + total = users.count() + + if sort == "name": + key = User.username + elif sort == "truescore": + key = User.truescore.desc() + elif sort == "ban_reason": + key = User.ban_reason + elif sort == "banned_by": + key = User.is_banned + else: + sort = "unban_utc" + key = User.unban_utc + + users = users.order_by(key).offset(PAGE_SIZE * (page - 1)).limit(PAGE_SIZE) + + return render_template("banned.html", v=v, users=users, sort=sort, total=total, page=page) @app.get("/grassed") @limiter.limit(DEFAULT_RATELIMIT, deduct_when=lambda response: response.status_code < 400) diff --git a/files/templates/banned.html b/files/templates/banned.html index 5b01c87dc..b827a6966 100644 --- a/files/templates/banned.html +++ b/files/templates/banned.html @@ -6,24 +6,26 @@ - - - {% if v and v.admin_level >= PERMS['VIEW_LAST_ACTIVE'] -%} - - {%- endif %} - - - - + + + + + {% for user in users %} - - {% if v and v.admin_level >= PERMS['VIEW_LAST_ACTIVE'] -%} - - {%- endif %} @@ -33,3 +35,7 @@
#NameLast ActiveTruescoreBan reasonBanned byUnban in + Name + + Truescore + + Ban reason + + Banned by + + Unban on +
{{loop.index}} {% include "user_in_table.html" %}{{user.truescore}} {{user.ban_reason | safe}} {{user.banned_by | safe}}
{% endblock %} + +{% block pagenav %} + {% include "pagination.html" %} +{% endblock %}