diff --git a/files/routes/admin.py b/files/routes/admin.py index 5385e1224..b60e935fb 100644 --- a/files/routes/admin.py +++ b/files/routes/admin.py @@ -24,8 +24,12 @@ SITE_NAME = environ.get("SITE_NAME", "").strip() def votes2(v, id): try: id = int(id) except: abort(400) - votes = g.db.query(Vote.user_id, func.count(Vote.user_id)).join(Submission, Vote.submission_id==Submission.id).filter(Vote.vote_type==1, Submission.author_id==id).group_by(Vote.user_id).order_by(func.count(Vote.user_id).desc()).all() - return(str(votes)) + votes = g.db.query(Vote.user_id).join(Submission, Vote.submission_id==Submission.id).filter(Vote.vote_type==1, Submission.author_id==id).group_by(Vote.user_id).order_by(func.count(Vote.user_id).desc()).all() + + voters=[x[0] for x in votes] + users = g.db.query(User.id, User.username).filter(User.id.in_(voters)).all() + users = [x[1] for x in sorted(users, key=lambda x: voters.index(x[0]))] + return render_template("upvoters.html", users=users) @app.get("/name//") diff --git a/files/templates/upvoters.html b/files/templates/upvoters.html new file mode 100644 index 000000000..7a46c567d --- /dev/null +++ b/files/templates/upvoters.html @@ -0,0 +1,19 @@ +{% extends "default.html" %} +{% block content %} + + + + + + + + +{% for user in users %} + + + +{% endfor %} + +
Name
{{user}}
+ +{% endblock %} \ No newline at end of file