fixed version of d83d47e280
parent
a1b137447e
commit
3b8188fd67
|
@ -27,7 +27,7 @@ services:
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:12.3
|
image: postgres:12.3
|
||||||
# command: ["postgres", "-c", "log_statement=all"]
|
command: ["postgres", "-c", "log_statement=all"]
|
||||||
# uncomment this if u wanna output all SQL queries to the console
|
# uncomment this if u wanna output all SQL queries to the console
|
||||||
volumes:
|
volumes:
|
||||||
- "./schema.sql:/docker-entrypoint-initdb.d/00-schema.sql"
|
- "./schema.sql:/docker-entrypoint-initdb.d/00-schema.sql"
|
||||||
|
|
|
@ -134,7 +134,7 @@ class Comment(Base):
|
||||||
@lazy
|
@lazy
|
||||||
def total_choice_voted(self, v):
|
def total_choice_voted(self, v):
|
||||||
if v:
|
if v:
|
||||||
return g.db.query(CommentVote).filter(CommentVote.user_id == v.id, CommentVote.comment_id.in_([x.id for x in self.choices])).all()
|
return g.db.query(CommentVote).filter(CommentVote.user_id == v.id, CommentVote.comment_id.in_([x.id for x in self.choices])).count()
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -247,7 +247,7 @@ class Comment(Base):
|
||||||
if not self.parent_submission:
|
if not self.parent_submission:
|
||||||
return [x for x in self.child_comments.order_by(Comment.id) if not x.author.shadowbanned]
|
return [x for x in self.child_comments.order_by(Comment.id) if not x.author.shadowbanned]
|
||||||
|
|
||||||
comments = self.child_comments.filter(Comment.author_id.notin_((AUTOPOLLER_ID, AUTOBETTER_ID, AUTOCHOICE_ID)))
|
comments = self.child_comments.filter(Comment.author_id.notin_(poll_bots))
|
||||||
comments = sort_comments(sort, comments)
|
comments = sort_comments(sort, comments)
|
||||||
return [x for x in comments if not x.author.shadowbanned]
|
return [x for x in comments if not x.author.shadowbanned]
|
||||||
|
|
||||||
|
@ -258,7 +258,7 @@ class Comment(Base):
|
||||||
if not self.parent_submission:
|
if not self.parent_submission:
|
||||||
return self.child_comments.order_by(Comment.id).all()
|
return self.child_comments.order_by(Comment.id).all()
|
||||||
|
|
||||||
comments = self.child_comments.filter(Comment.author_id.notin_((AUTOPOLLER_ID, AUTOBETTER_ID, AUTOCHOICE_ID)))
|
comments = self.child_comments.filter(Comment.author_id.notin_(poll_bots))
|
||||||
return sort_comments(sort, comments).all()
|
return sort_comments(sort, comments).all()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,6 @@ class Submission(Base):
|
||||||
approved_by = relationship("User", uselist=False, primaryjoin="Submission.is_approved==User.id", viewonly=True)
|
approved_by = relationship("User", uselist=False, primaryjoin="Submission.is_approved==User.id", viewonly=True)
|
||||||
awards = relationship("AwardRelationship", order_by="AwardRelationship.awarded_utc.desc()", viewonly=True)
|
awards = relationship("AwardRelationship", order_by="AwardRelationship.awarded_utc.desc()", viewonly=True)
|
||||||
reports = relationship("Flag", viewonly=True)
|
reports = relationship("Flag", viewonly=True)
|
||||||
comments = relationship("Comment", primaryjoin="Comment.parent_submission==Submission.id")
|
|
||||||
subr = relationship("Sub", primaryjoin="foreign(Submission.sub)==remote(Sub.name)", viewonly=True)
|
subr = relationship("Sub", primaryjoin="foreign(Submission.sub)==remote(Sub.name)", viewonly=True)
|
||||||
|
|
||||||
bump_utc = deferred(Column(Integer, server_default=FetchedValue()))
|
bump_utc = deferred(Column(Integer, server_default=FetchedValue()))
|
||||||
|
@ -128,7 +127,7 @@ class Submission(Base):
|
||||||
@lazy
|
@lazy
|
||||||
def total_choice_voted(self, v):
|
def total_choice_voted(self, v):
|
||||||
if v and self.choices:
|
if v and self.choices:
|
||||||
return g.db.query(CommentVote).filter(CommentVote.user_id == v.id, CommentVote.comment_id.in_([x.id for x in self.choices])).all()
|
return g.db.query(CommentVote).filter(CommentVote.user_id == v.id, CommentVote.comment_id.in_([x.id for x in self.choices])).count()
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@lazy
|
@lazy
|
||||||
|
|
|
@ -480,6 +480,7 @@ class User(Base):
|
||||||
@property
|
@property
|
||||||
@lazy
|
@lazy
|
||||||
def modaction_notifications_count(self):
|
def modaction_notifications_count(self):
|
||||||
|
if not self.admin_level: return 0
|
||||||
return g.db.query(Notification).join(Comment).filter(
|
return g.db.query(Notification).join(Comment).filter(
|
||||||
Notification.user_id == self.id, Notification.read == False,
|
Notification.user_id == self.id, Notification.read == False,
|
||||||
Comment.is_banned == False, Comment.deleted_utc == 0,
|
Comment.is_banned == False, Comment.deleted_utc == 0,
|
||||||
|
@ -489,6 +490,7 @@ class User(Base):
|
||||||
@property
|
@property
|
||||||
@lazy
|
@lazy
|
||||||
def reddit_notifications_count(self):
|
def reddit_notifications_count(self):
|
||||||
|
if not self.can_view_offsitementions: return 0
|
||||||
return g.db.query(Notification).join(Comment).filter(
|
return g.db.query(Notification).join(Comment).filter(
|
||||||
Notification.user_id == self.id, Notification.read == False,
|
Notification.user_id == self.id, Notification.read == False,
|
||||||
Comment.is_banned == False, Comment.deleted_utc == 0,
|
Comment.is_banned == False, Comment.deleted_utc == 0,
|
||||||
|
@ -703,6 +705,9 @@ class User(Base):
|
||||||
def saved_idlist(self, page=1):
|
def saved_idlist(self, page=1):
|
||||||
|
|
||||||
saved = [x[0] for x in g.db.query(SaveRelationship.submission_id).filter_by(user_id=self.id).all()]
|
saved = [x[0] for x in g.db.query(SaveRelationship.submission_id).filter_by(user_id=self.id).all()]
|
||||||
|
|
||||||
|
if not saved: return []
|
||||||
|
|
||||||
posts = g.db.query(Submission.id).filter(Submission.id.in_(saved), Submission.is_banned == False, Submission.deleted_utc == 0)
|
posts = g.db.query(Submission.id).filter(Submission.id.in_(saved), Submission.is_banned == False, Submission.deleted_utc == 0)
|
||||||
|
|
||||||
if self.admin_level < 2:
|
if self.admin_level < 2:
|
||||||
|
@ -714,6 +719,9 @@ class User(Base):
|
||||||
def saved_comment_idlist(self, page=1):
|
def saved_comment_idlist(self, page=1):
|
||||||
|
|
||||||
saved = [x[0] for x in g.db.query(CommentSaveRelationship.comment_id).filter_by(user_id=self.id).all()]
|
saved = [x[0] for x in g.db.query(CommentSaveRelationship.comment_id).filter_by(user_id=self.id).all()]
|
||||||
|
|
||||||
|
if not saved: return []
|
||||||
|
|
||||||
comments = g.db.query(Comment.id).filter(Comment.id.in_(saved), Comment.is_banned == False, Comment.deleted_utc == 0)
|
comments = g.db.query(Comment.id).filter(Comment.id.in_(saved), Comment.is_banned == False, Comment.deleted_utc == 0)
|
||||||
|
|
||||||
if self.admin_level < 2:
|
if self.admin_level < 2:
|
||||||
|
|
|
@ -120,8 +120,7 @@ def get_post(i, v=None, graceful=False):
|
||||||
else: abort(404)
|
else: abort(404)
|
||||||
|
|
||||||
if v:
|
if v:
|
||||||
vt = g.db.query(Vote).filter_by(
|
vt = g.db.query(Vote).filter_by(user_id=v.id, submission_id=i).subquery()
|
||||||
user_id=v.id, submission_id=i).subquery()
|
|
||||||
blocking = v.blocking.subquery()
|
blocking = v.blocking.subquery()
|
||||||
|
|
||||||
post = g.db.query(
|
post = g.db.query(
|
||||||
|
@ -166,7 +165,7 @@ def get_posts(pids, v=None):
|
||||||
return []
|
return []
|
||||||
|
|
||||||
if v:
|
if v:
|
||||||
vt = g.db.query(Vote).filter(
|
vt = g.db.query(Vote.vote_type, Vote.submission_id).filter(
|
||||||
Vote.submission_id.in_(pids),
|
Vote.submission_id.in_(pids),
|
||||||
Vote.user_id==v.id
|
Vote.user_id==v.id
|
||||||
).subquery()
|
).subquery()
|
||||||
|
@ -228,8 +227,7 @@ def get_comment(i, v=None, graceful=False):
|
||||||
)
|
)
|
||||||
).first()
|
).first()
|
||||||
|
|
||||||
vts = g.db.query(CommentVote).filter_by(user_id=v.id, comment_id=comment.id)
|
vt = g.db.query(CommentVote.vote_type).filter_by(user_id=v.id, comment_id=comment.id).one_or_none()
|
||||||
vt = g.db.query(CommentVote).filter_by(user_id=v.id, comment_id=comment.id).one_or_none()
|
|
||||||
comment.is_blocking = block and block.user_id == v.id
|
comment.is_blocking = block and block.user_id == v.id
|
||||||
comment.is_blocked = block and block.target_id == v.id
|
comment.is_blocked = block and block.target_id == v.id
|
||||||
comment.voted = vt.vote_type if vt else 0
|
comment.voted = vt.vote_type if vt else 0
|
||||||
|
@ -242,7 +240,7 @@ def get_comments(cids, v=None, load_parent=False):
|
||||||
if not cids: return []
|
if not cids: return []
|
||||||
|
|
||||||
if v:
|
if v:
|
||||||
votes = g.db.query(CommentVote).filter_by(user_id=v.id).subquery()
|
votes = g.db.query(CommentVote.vote_type, CommentVote.comment_id).filter_by(user_id=v.id).subquery()
|
||||||
|
|
||||||
blocking = v.blocking.subquery()
|
blocking = v.blocking.subquery()
|
||||||
|
|
||||||
|
@ -286,8 +284,6 @@ def get_comments(cids, v=None, load_parent=False):
|
||||||
if load_parent:
|
if load_parent:
|
||||||
parents = [x.parent_comment_id for x in output if x.parent_comment_id]
|
parents = [x.parent_comment_id for x in output if x.parent_comment_id]
|
||||||
parents = get_comments(parents, v=v)
|
parents = get_comments(parents, v=v)
|
||||||
parents = {x.id: x for x in parents}
|
|
||||||
for c in output: c.sex = parents.get(c.parent_comment_id)
|
|
||||||
|
|
||||||
return sorted(output, key=lambda x: cids.index(x.id))
|
return sorted(output, key=lambda x: cids.index(x.id))
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,7 @@ def post_pid_comment_cid(cid, pid=None, anything=None, v=None, sub=None):
|
||||||
sort=request.values.get("sort", defaultsortingcomments)
|
sort=request.values.get("sort", defaultsortingcomments)
|
||||||
|
|
||||||
if v:
|
if v:
|
||||||
votes = g.db.query(CommentVote).filter_by(user_id=v.id).subquery()
|
votes = g.db.query(CommentVote.vote_type, CommentVote.comment_id).filter_by(user_id=v.id).subquery()
|
||||||
|
|
||||||
blocking = v.blocking.subquery()
|
blocking = v.blocking.subquery()
|
||||||
|
|
||||||
|
@ -134,8 +134,8 @@ def post_pid_comment_cid(cid, pid=None, anything=None, v=None, sub=None):
|
||||||
comments = comments.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
|
comments = comments.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
|
||||||
|
|
||||||
comments=comments.filter(
|
comments=comments.filter(
|
||||||
Comment.parent_submission == post.id,
|
Comment.top_comment_id == c.top_comment_id,
|
||||||
Comment.author_id.notin_((AUTOPOLLER_ID, AUTOBETTER_ID, AUTOCHOICE_ID))
|
Comment.author_id.notin_(poll_bots)
|
||||||
).join(
|
).join(
|
||||||
votes,
|
votes,
|
||||||
votes.c.comment_id == Comment.id,
|
votes.c.comment_id == Comment.id,
|
||||||
|
|
|
@ -147,7 +147,7 @@ def post_id(pid, anything=None, v=None, sub=None):
|
||||||
if post.club and not (v and (v.paid_dues or v.id == post.author_id)): abort(403)
|
if post.club and not (v and (v.paid_dues or v.id == post.author_id)): abort(403)
|
||||||
|
|
||||||
if v:
|
if v:
|
||||||
votes = g.db.query(CommentVote).filter_by(user_id=v.id).subquery()
|
votes = g.db.query(CommentVote.vote_type, CommentVote.comment_id).filter_by(user_id=v.id).subquery()
|
||||||
|
|
||||||
blocking = v.blocking.subquery()
|
blocking = v.blocking.subquery()
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ def post_id(pid, anything=None, v=None, sub=None):
|
||||||
if not (v and v.shadowbanned) and not (v and v.admin_level >= 2):
|
if not (v and v.shadowbanned) and not (v and v.admin_level >= 2):
|
||||||
comments = comments.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
|
comments = comments.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
|
||||||
|
|
||||||
comments=comments.filter(Comment.parent_submission == post.id, Comment.author_id.notin_((AUTOPOLLER_ID, AUTOBETTER_ID, AUTOCHOICE_ID))).join(
|
comments=comments.filter(Comment.parent_submission == post.id, Comment.author_id.notin_(poll_bots)).join(
|
||||||
votes,
|
votes,
|
||||||
votes.c.comment_id == Comment.id,
|
votes.c.comment_id == Comment.id,
|
||||||
isouter=True
|
isouter=True
|
||||||
|
@ -197,7 +197,7 @@ def post_id(pid, anything=None, v=None, sub=None):
|
||||||
else:
|
else:
|
||||||
pinned = g.db.query(Comment).filter(Comment.parent_submission == post.id, Comment.stickied != None).all()
|
pinned = g.db.query(Comment).filter(Comment.parent_submission == post.id, Comment.stickied != None).all()
|
||||||
|
|
||||||
comments = g.db.query(Comment).join(User, User.id == Comment.author_id).filter(User.shadowbanned == None, Comment.parent_submission == post.id, Comment.author_id.notin_((AUTOPOLLER_ID, AUTOBETTER_ID, AUTOCHOICE_ID)), Comment.level == 1, Comment.stickied == None)
|
comments = g.db.query(Comment).join(User, User.id == Comment.author_id).filter(User.shadowbanned == None, Comment.parent_submission == post.id, Comment.author_id.notin_(poll_bots), Comment.level == 1, Comment.stickied == None)
|
||||||
|
|
||||||
comments = sort_comments(sort, comments)
|
comments = sort_comments(sort, comments)
|
||||||
|
|
||||||
|
@ -259,7 +259,7 @@ def viewmore(v, pid, sort, offset):
|
||||||
except: abort(400)
|
except: abort(400)
|
||||||
|
|
||||||
if v:
|
if v:
|
||||||
votes = g.db.query(CommentVote).filter_by(user_id=v.id).subquery()
|
votes = g.db.query(CommentVote.vote_type, CommentVote.comment_id).filter_by(user_id=v.id).subquery()
|
||||||
|
|
||||||
blocking = v.blocking.subquery()
|
blocking = v.blocking.subquery()
|
||||||
|
|
||||||
|
@ -270,7 +270,7 @@ def viewmore(v, pid, sort, offset):
|
||||||
votes.c.vote_type,
|
votes.c.vote_type,
|
||||||
blocking.c.target_id,
|
blocking.c.target_id,
|
||||||
blocked.c.target_id,
|
blocked.c.target_id,
|
||||||
).filter(Comment.parent_submission == pid, Comment.author_id.notin_((AUTOPOLLER_ID, AUTOBETTER_ID, AUTOCHOICE_ID)), Comment.stickied == None, Comment.id.notin_(ids))
|
).filter(Comment.parent_submission == pid, Comment.author_id.notin_(poll_bots), Comment.stickied == None, Comment.id.notin_(ids))
|
||||||
|
|
||||||
if not (v and v.shadowbanned) and not (v and v.admin_level >= 2):
|
if not (v and v.shadowbanned) and not (v and v.admin_level >= 2):
|
||||||
comments = comments.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
|
comments = comments.join(User, User.id == Comment.author_id).filter(User.shadowbanned == None)
|
||||||
|
@ -305,7 +305,7 @@ def viewmore(v, pid, sort, offset):
|
||||||
second = [c[0] for c in comments.filter(or_(Comment.slots_result != None, Comment.blackjack_result != None, Comment.wordle_result != None), func.length(Comment.body_html) <= 100).all()]
|
second = [c[0] for c in comments.filter(or_(Comment.slots_result != None, Comment.blackjack_result != None, Comment.wordle_result != None), func.length(Comment.body_html) <= 100).all()]
|
||||||
comments = first + second
|
comments = first + second
|
||||||
else:
|
else:
|
||||||
comments = g.db.query(Comment).join(User, User.id == Comment.author_id).filter(User.shadowbanned == None, Comment.parent_submission == pid, Comment.author_id.notin_((AUTOPOLLER_ID, AUTOBETTER_ID, AUTOCHOICE_ID)), Comment.level == 1, Comment.stickied == None, Comment.id.notin_(ids))
|
comments = g.db.query(Comment).join(User, User.id == Comment.author_id).filter(User.shadowbanned == None, Comment.parent_submission == pid, Comment.author_id.notin_(poll_bots), Comment.level == 1, Comment.stickied == None, Comment.id.notin_(ids))
|
||||||
|
|
||||||
comments = sort_comments(sort, comments)
|
comments = sort_comments(sort, comments)
|
||||||
|
|
||||||
|
@ -346,7 +346,7 @@ def morecomments(v, cid):
|
||||||
tcid = g.db.query(Comment.top_comment_id).filter_by(id=cid).one_or_none()[0]
|
tcid = g.db.query(Comment.top_comment_id).filter_by(id=cid).one_or_none()[0]
|
||||||
|
|
||||||
if v:
|
if v:
|
||||||
votes = g.db.query(CommentVote).filter_by(user_id=v.id).subquery()
|
votes = g.db.query(CommentVote.vote_type, CommentVote.comment_id).filter_by(user_id=v.id).subquery()
|
||||||
|
|
||||||
blocking = v.blocking.subquery()
|
blocking = v.blocking.subquery()
|
||||||
|
|
||||||
|
|
|
@ -207,9 +207,7 @@
|
||||||
|
|
||||||
{% if c.author.verified %}<i class="fas fa-badge-check align-middle ml-1 {% if c.author.verified=='Glowiefied' %}glow{% endif %}" style="color:{% if c.author.verifiedcolor %}#{{c.author.verifiedcolor}}{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="{{c.author.verified}}"></i>
|
{% if c.author.verified %}<i class="fas fa-badge-check align-middle ml-1 {% if c.author.verified=='Glowiefied' %}glow{% endif %}" style="color:{% if c.author.verifiedcolor %}#{{c.author.verifiedcolor}}{% else %}#1DA1F2{% endif %}" data-bs-toggle="tooltip" data-bs-placement="bottom" title="{{c.author.verified}}"></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if not c.author %}
|
|
||||||
{{c.print()}}
|
|
||||||
{% endif %}
|
|
||||||
<a class="user-name text-decoration-none" href="{{c.author.url}}" data-pop-info='{{c.author.json_popover(v) | tojson}}' onclick='popclick(event)' data-bs-placement="bottom" data-bs-toggle="popover" data-bs-trigger="click" data-content-id="popover" role="button" tabindex="0" style="color:#{{c.author.namecolor}}; font-size:12px; font-weight:bold;">
|
<a class="user-name text-decoration-none" href="{{c.author.url}}" data-pop-info='{{c.author.json_popover(v) | tojson}}' onclick='popclick(event)' data-bs-placement="bottom" data-bs-toggle="popover" data-bs-trigger="click" data-content-id="popover" role="button" tabindex="0" style="color:#{{c.author.namecolor}}; font-size:12px; font-weight:bold;">
|
||||||
<img loading="lazy" src="{{c.author.profile_url}}" class="profile-pic-25 mr-2">
|
<img loading="lazy" src="{{c.author.profile_url}}" class="profile-pic-25 mr-2">
|
||||||
{% if c.author.is_cakeday %}
|
{% if c.author.is_cakeday %}
|
||||||
|
@ -877,7 +875,7 @@
|
||||||
lastCount = comments['{{p.id}}']
|
lastCount = comments['{{p.id}}']
|
||||||
if (lastCount)
|
if (lastCount)
|
||||||
{
|
{
|
||||||
{% for c in p.comments %}
|
{% for c in p.replies %}
|
||||||
{% if not (v and v.id==c.author_id) and not c.voted %}
|
{% if not (v and v.id==c.author_id) and not c.voted %}
|
||||||
if ({{c.created_utc*1000}} > lastCount.t)
|
if ({{c.created_utc*1000}} > lastCount.t)
|
||||||
try {document.getElementById("comment-{{c.id}}-only").classList.add('unread')}
|
try {document.getElementById("comment-{{c.id}}-only").classList.add('unread')}
|
||||||
|
@ -908,7 +906,7 @@
|
||||||
lastCount = comments['{{p.id}}']
|
lastCount = comments['{{p.id}}']
|
||||||
if (lastCount)
|
if (lastCount)
|
||||||
{
|
{
|
||||||
{% for c in p.comments %}
|
{% for c in p.replies %}
|
||||||
{% if not (v and v.id==c.author_id) and not c.voted %}
|
{% if not (v and v.id==c.author_id) and not c.voted %}
|
||||||
if ({{c.created_utc*1000}} > lastCount.t)
|
if ({{c.created_utc*1000}} > lastCount.t)
|
||||||
try {document.getElementById("comment-{{c.id}}-only").classList.add('unread')}
|
try {document.getElementById("comment-{{c.id}}-only").classList.add('unread')}
|
||||||
|
|
|
@ -732,10 +732,6 @@
|
||||||
{% if p.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
{% if p.over_18 %}<span class="badge badge-danger text-small-extra mr-1">+18</span>{% endif %}
|
||||||
{% if p.private %}<span class="badge border-warning border-1 text-small-extra">Draft</span>{% endif %}
|
{% if p.private %}<span class="badge border-warning border-1 text-small-extra">Draft</span>{% endif %}
|
||||||
{% if p.active_flags(v) %}<a class="btn btn-primary" role="button" style="padding:1px 5px; font-size:10px"onclick="document.getElementById('flaggers').classList.toggle('d-none')">{{p.active_flags(v)}} Report{{ help.plural(p.active_flags(v)) }}</a>{% endif %}
|
{% if p.active_flags(v) %}<a class="btn btn-primary" role="button" style="padding:1px 5px; font-size:10px"onclick="document.getElementById('flaggers').classList.toggle('d-none')">{{p.active_flags(v)}} Report{{ help.plural(p.active_flags(v)) }}</a>{% endif %}
|
||||||
|
|
||||||
{% if not p.author %}
|
|
||||||
{{p.print()}}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if p.ghost %}
|
{% if p.ghost %}
|
||||||
<span {% if p.distinguish_level %}class="mod"{% endif %}>👻</span>
|
<span {% if p.distinguish_level %}class="mod"{% endif %}>👻</span>
|
||||||
|
@ -1127,7 +1123,7 @@
|
||||||
lastCount = comments['{{p.id}}']
|
lastCount = comments['{{p.id}}']
|
||||||
if (lastCount)
|
if (lastCount)
|
||||||
{
|
{
|
||||||
{% for c in p.comments %}
|
{% for c in p.replies %}
|
||||||
{% if not (v and v.id==c.author_id) and not c.voted %}
|
{% if not (v and v.id==c.author_id) and not c.voted %}
|
||||||
if ({{c.created_utc*1000}} > lastCount.t)
|
if ({{c.created_utc*1000}} > lastCount.t)
|
||||||
try {document.getElementById("comment-{{c.id}}-only").classList.add('unread')}
|
try {document.getElementById("comment-{{c.id}}-only").classList.add('unread')}
|
||||||
|
|
|
@ -94,7 +94,7 @@
|
||||||
lastCount = comments['{{p.id}}']
|
lastCount = comments['{{p.id}}']
|
||||||
if (lastCount)
|
if (lastCount)
|
||||||
{
|
{
|
||||||
{% for c in p.comments %}
|
{% for c in p.replies %}
|
||||||
{% if not (v and v.id==c.author_id) and not c.voted %}
|
{% if not (v and v.id==c.author_id) and not c.voted %}
|
||||||
if ({{c.created_utc*1000}} > lastCount.t)
|
if ({{c.created_utc*1000}} > lastCount.t)
|
||||||
try {document.getElementById("comment-{{c.id}}-only").classList.add('unread')}
|
try {document.getElementById("comment-{{c.id}}-only").classList.add('unread')}
|
||||||
|
|
|
@ -180,10 +180,6 @@
|
||||||
{% if p.private %}<span class="badge border-warning border-1 text-small-extra">Draft</span>{% endif %}
|
{% if p.private %}<span class="badge border-warning border-1 text-small-extra">Draft</span>{% endif %}
|
||||||
{% if p.active_flags(v) %}<a class="btn btn-primary" role="button" style="padding:1px 5px; font-size:10px"onclick="document.getElementById('flaggers-{{p.id}}').classList.toggle('d-none')">{{p.active_flags(v)}} Report{{ help.plural(p.active_flags(v)) }}</a>{% endif %}
|
{% if p.active_flags(v) %}<a class="btn btn-primary" role="button" style="padding:1px 5px; font-size:10px"onclick="document.getElementById('flaggers-{{p.id}}').classList.toggle('d-none')">{{p.active_flags(v)}} Report{{ help.plural(p.active_flags(v)) }}</a>{% endif %}
|
||||||
|
|
||||||
{% if not p.author %}
|
|
||||||
{{p.print()}}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if p.ghost %}
|
{% if p.ghost %}
|
||||||
<span {% if p.distinguish_level %}class="mod"{% endif %}>👻</span>
|
<span {% if p.distinguish_level %}class="mod"{% endif %}>👻</span>
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|
Loading…
Reference in New Issue