forked from rDrama/rDrama
give jannoids notifs for deleted and removed comments
parent
4997ba561a
commit
c190fa89b2
|
@ -592,13 +592,15 @@ class User(Base):
|
||||||
.filter(
|
.filter(
|
||||||
Notification.read == False,
|
Notification.read == False,
|
||||||
Notification.user_id == self.id,
|
Notification.user_id == self.id,
|
||||||
Comment.is_banned == False,
|
|
||||||
Comment.deleted_utc == 0,
|
|
||||||
not_(and_(Comment.sentto != None, Comment.sentto == MODMAIL_ID, User.is_muted)),
|
not_(and_(Comment.sentto != None, Comment.sentto == MODMAIL_ID, User.is_muted)),
|
||||||
))
|
))
|
||||||
|
|
||||||
if not self.can_see_shadowbanned:
|
if not self.can_see_shadowbanned:
|
||||||
notifs = notifs.filter(User.shadowbanned == None)
|
notifs = notifs.filter(
|
||||||
|
User.shadowbanned == None,
|
||||||
|
Comment.is_banned == False,
|
||||||
|
Comment.deleted_utc == 0,
|
||||||
|
)
|
||||||
|
|
||||||
return notifs.count() + self.post_notifications_count + self.modaction_notifications_count + self.reddit_notifications_count
|
return notifs.count() + self.post_notifications_count + self.modaction_notifications_count + self.reddit_notifications_count
|
||||||
|
|
||||||
|
|
|
@ -262,40 +262,32 @@ def notifications(v:User):
|
||||||
try: page = max(int(request.values.get("page", 1)), 1)
|
try: page = max(int(request.values.get("page", 1)), 1)
|
||||||
except: page = 1
|
except: page = 1
|
||||||
|
|
||||||
if v.admin_level >= PERMS['USER_SHADOWBAN']:
|
if v.admin_level < PERMS['USER_SHADOWBAN']:
|
||||||
unread_and_inaccessible = g.db.query(Notification).join(Notification.comment).filter(
|
|
||||||
Notification.user_id == v.id,
|
|
||||||
Notification.read == False,
|
|
||||||
or_(
|
|
||||||
Comment.is_banned != False,
|
|
||||||
Comment.deleted_utc != 0,
|
|
||||||
)
|
|
||||||
).all()
|
|
||||||
else:
|
|
||||||
unread_and_inaccessible = g.db.query(Notification).join(Notification.comment).join(Comment.author).filter(
|
unread_and_inaccessible = g.db.query(Notification).join(Notification.comment).join(Comment.author).filter(
|
||||||
Notification.user_id == v.id,
|
Notification.user_id == v.id,
|
||||||
Notification.read == False,
|
Notification.read == False,
|
||||||
or_(
|
or_(
|
||||||
|
User.shadowbanned != None,
|
||||||
Comment.is_banned != False,
|
Comment.is_banned != False,
|
||||||
Comment.deleted_utc != 0,
|
Comment.deleted_utc != 0,
|
||||||
User.shadowbanned != None,
|
|
||||||
)
|
)
|
||||||
).all()
|
).all()
|
||||||
|
|
||||||
for n in unread_and_inaccessible:
|
for n in unread_and_inaccessible:
|
||||||
n.read = True
|
n.read = True
|
||||||
g.db.add(n)
|
g.db.add(n)
|
||||||
|
|
||||||
comments = g.db.query(Comment, Notification).join(Notification.comment).join(Comment.author).filter(
|
comments = g.db.query(Comment, Notification).join(Notification.comment).join(Comment.author).filter(
|
||||||
Notification.user_id == v.id,
|
Notification.user_id == v.id,
|
||||||
Comment.is_banned == False,
|
|
||||||
Comment.deleted_utc == 0,
|
|
||||||
or_(Comment.sentto == None, Comment.sentto == MODMAIL_ID),
|
or_(Comment.sentto == None, Comment.sentto == MODMAIL_ID),
|
||||||
not_(and_(Comment.sentto != None, Comment.sentto == MODMAIL_ID, User.is_muted)),
|
not_(and_(Comment.sentto != None, Comment.sentto == MODMAIL_ID, User.is_muted)),
|
||||||
)
|
)
|
||||||
|
|
||||||
if v.admin_level < PERMS['USER_SHADOWBAN']:
|
if v.admin_level < PERMS['USER_SHADOWBAN']:
|
||||||
comments = comments.filter(User.shadowbanned == None)
|
comments = comments.filter(
|
||||||
|
User.shadowbanned == None,
|
||||||
|
Comment.is_banned == False,
|
||||||
|
Comment.deleted_utc == 0,
|
||||||
|
)
|
||||||
|
|
||||||
comments = comments.order_by(Notification.created_utc.desc())
|
comments = comments.order_by(Notification.created_utc.desc())
|
||||||
comments = comments.offset(PAGE_SIZE * (page - 1)).limit(PAGE_SIZE+1).all()
|
comments = comments.offset(PAGE_SIZE * (page - 1)).limit(PAGE_SIZE+1).all()
|
||||||
|
|
Loading…
Reference in New Issue