Fix improper calls to Comment.replies.
In four contexts, Comment.replies(.) was not updated to reflect the interface changes with comment filtering. This directly caused #170 and #172 (which was a stack trace from the former). - Updating notifications for DMs (routes/users.py L690) - Updating notifications for modmail (routes/users.py L729) - morecomments for logged out users (routes/posts.py L421) - JSON for API access (classes/comment.py L347) All four contexts seem to behave correctly after the change. However, strictly speaking the JSON generation will not include a user's own filtered or removed comments, though this is hard to remedy without passing the user object `v` to json_core. Propagating that through the codebase seems a worse option than leaving it as is.
This commit is contained in:
parent
d4dd495b31
commit
965a4dc157
3 changed files with 4 additions and 5 deletions
|
@ -687,7 +687,7 @@ def messagereply(v):
|
|||
if not notif:
|
||||
notif = Notification(comment_id=c.id, user_id=user_id)
|
||||
g.db.add(notif)
|
||||
ids = [c.top_comment.id] + [x.id for x in c.top_comment.replies]
|
||||
ids = [c.top_comment.id] + [x.id for x in c.top_comment.replies_ignoring_shadowbans]
|
||||
notifications = g.db.query(Notification).filter(Notification.comment_id.in_(ids), Notification.user_id == user_id)
|
||||
for n in notifications:
|
||||
g.db.delete(n)
|
||||
|
@ -726,7 +726,7 @@ def messagereply(v):
|
|||
notif = Notification(comment_id=c.id, user_id=admin.id)
|
||||
g.db.add(notif)
|
||||
|
||||
ids = [c.top_comment.id] + [x.id for x in c.top_comment.replies]
|
||||
ids = [c.top_comment.id] + [x.id for x in c.top_comment.replies_ignoring_shadowbans]
|
||||
notifications = g.db.query(Notification).filter(Notification.comment_id.in_(ids))
|
||||
for n in notifications:
|
||||
g.db.delete(n)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue