From 8c372a4847b7eaddaa161b235cf8c691972c516e Mon Sep 17 00:00:00 2001 From: Aevann1 Date: Sat, 11 Dec 2021 02:23:01 +0200 Subject: [PATCH] dfsfsd --- files/routes/posts.py | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/files/routes/posts.py b/files/routes/posts.py index 5a203a1ce..cb1c1f7f9 100644 --- a/files/routes/posts.py +++ b/files/routes/posts.py @@ -326,8 +326,44 @@ def viewmore(v, pid, sort, offset): @limiter.limit("1/second") @auth_desired def morecomments(v, cid): - c = g.db.query(Comment).filter_by(id=cid).first() - comments = c.replies + if v: + votes = g.db.query(CommentVote).filter_by(user_id=v.id).subquery() + + blocking = v.blocking.subquery() + + blocked = v.blocked.subquery() + + comments = g.db.query( + Comment, + votes.c.vote_type, + blocking.c.id, + blocked.c.id, + ).filter_by(parent_comment_id=cid).join( + votes, + votes.c.comment_id == Comment.id, + isouter=True + ).join( + blocking, + blocking.c.target_id == Comment.author_id, + isouter=True + ).join( + blocked, + blocked.c.user_id == Comment.author_id, + isouter=True + ) + + output = [] + for c in comments.all(): + comment = c[0] + comment.voted = c[1] or 0 + comment.is_blocking = c[2] or 0 + comment.is_blocked = c[3] or 0 + output.append(comment) + comments = output + else: + c = g.db.query(Comment).filter_by(id=cid).first() + comments = c.replies + return render_template("comments.html", v=v, comments=comments, render_replies=True) @app.post("/edit_post/")