diff --git a/files/routes/posts.py b/files/routes/posts.py index 61bc485fc3..94ef30a635 100644 --- a/files/routes/posts.py +++ b/files/routes/posts.py @@ -105,6 +105,10 @@ def post_id(pid, anything=None, v=None): blocked = v.blocked.subquery() + if not (v and v.shadowbanned) and not (v and v.admin_level == 6): + shadowbanned = g.db.query(User.id).filter(User.shadowbanned == True).subquery() + comments = g.db.query(Comment).filter(Comment.author_id.notin_(shadowbanned)) + comments = g.db.query( Comment, votes.c.vote_type, @@ -112,6 +116,10 @@ def post_id(pid, anything=None, v=None): blocked.c.id, ) + if not (v and v.shadowbanned) and not (v and v.admin_level == 6): + shadowbanned = g.db.query(User.id).filter(User.shadowbanned == True).subquery() + comments = g.db.query(Comment).filter(Comment.author_id.notin_(shadowbanned)) + if v.admin_level >=4: comments=comments.options(joinedload(Comment.oauth_app)) @@ -149,7 +157,6 @@ def post_id(pid, anything=None, v=None): output = [] for c in comments: - if c.author.shadowbanned and not (v and v.shadowbanned) and not (v and v.admin_level == 6): continue comment = c[0] comment.voted = c[1] or 0 comment._is_blocking = c[2] or 0