From ea48c46b0fd971fa2a7e5cbff7600360541258cb Mon Sep 17 00:00:00 2001 From: TLSM Date: Wed, 25 May 2022 05:24:31 -0400 Subject: [PATCH] Leaderboard: add 'Most Blocked' hiscores. --- files/routes/users.py | 11 ++++++++++- files/templates/leaderboard.html | 27 ++++++++++++++++++++++++++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/files/routes/users.py b/files/routes/users.py index aed4258948..2f5ea2c492 100644 --- a/files/routes/users.py +++ b/files/routes/users.py @@ -9,6 +9,7 @@ from files.helpers.const import * from files.mail import * from flask import * from files.__main__ import app, limiter, db_session +import sqlalchemy from pusher_push_notifications import PushNotifications from collections import Counter import gevent @@ -537,7 +538,15 @@ def leaderboard(v): sq = g.db.query(User.id, func.rank().over(order_by=User.winnings).label("rank")).subquery() pos15 = g.db.query(sq.c.id, sq.c.rank).filter(sq.c.id == v.id).limit(1).one()[1] - return render_template("leaderboard.html", v=v, users1=users1, pos1=pos1, users2=users2, pos2=pos2, users3=users3, pos3=pos3, users4=users4, pos4=pos4, users5=users5, pos5=pos5, users6=users6, pos6=pos6, users7=users7, pos7=pos7, users9=users9_25, pos9=pos9, users10=users10, pos10=pos10, users11=users11, pos11=pos11, users12=users12, pos12=pos12, users13=users13_25, pos13=pos13, users14=users14, pos14=pos14, users15=users15, pos15=pos15) + usersBlk = g.db.query(UserBlock.target_id, func.count().label('blocked_by')) \ + .group_by(UserBlock.target_id).order_by(sqlalchemy.desc('blocked_by')).limit(25).all() + + return render_template("leaderboard.html", v=v, users1=users1, pos1=pos1, users2=users2, pos2=pos2, + users3=users3, pos3=pos3, users4=users4, pos4=pos4, users5=users5, pos5=pos5, + users6=users6, pos6=pos6, users7=users7, pos7=pos7, users9=users9_25, pos9=pos9, + users10=users10, pos10=pos10, users11=users11, pos11=pos11, users12=users12, pos12=pos12, + users13=users13_25, pos13=pos13, users14=users14, pos14=pos14, users15=users15, pos15=pos15, + usersBlk=usersBlk) @app.get("/@/css") def get_css(username): diff --git a/files/templates/leaderboard.html b/files/templates/leaderboard.html index 1891d2b3e4..1fd8219198 100644 --- a/files/templates/leaderboard.html +++ b/files/templates/leaderboard.html @@ -18,7 +18,8 @@ {%- if users12 %}Marseys • {% endif -%} {%- if users13 %}Upvotes Given • {% endif -%} Winnings • - Losses + Losses • + Blocked
Top 25 by coins
@@ -497,6 +498,30 @@
 
 
+
+
Top 25 Most Blocked
+

+
+ + + + + + + +{% for user in usersBlk %} + + + + + +{% endfor %} +
#NameBlocked By
{{loop.index}}{{user.username}}{{user.blocked_by}}
+ + +
+
+