forked from MarseyWorld/MarseyWorld
profile views and modmail/hole creation notifications
parent
f531b12727
commit
68851ed986
|
@ -903,7 +903,7 @@ class User(Base):
|
||||||
def viewers_recorded(self):
|
def viewers_recorded(self):
|
||||||
if SITE_NAME == 'WPD': # WPD gets profile views
|
if SITE_NAME == 'WPD': # WPD gets profile views
|
||||||
return True
|
return True
|
||||||
elif self.admin_level >= 2: # Admins get profile views
|
elif self.admin_level >= PERMS['VIEW_PROFILE_VIEWS']: # Admins get profile views
|
||||||
return True
|
return True
|
||||||
elif self.patron: # Patrons get profile views as a perk
|
elif self.patron: # Patrons get profile views as a perk
|
||||||
return True
|
return True
|
||||||
|
|
|
@ -154,6 +154,7 @@ PERMS = { # Minimum admin_level to perform action.
|
||||||
'VIEW_CHUDRAMA': 1,
|
'VIEW_CHUDRAMA': 1,
|
||||||
'VIEW_PRIVATE_PROFILES': 2,
|
'VIEW_PRIVATE_PROFILES': 2,
|
||||||
'VIEW_ALTS': 2,
|
'VIEW_ALTS': 2,
|
||||||
|
'VIEW_PROFILE_VIEWS': 2,
|
||||||
'PRINT_MARSEYBUX_FOR_KIPPY_ON_PCMEMES': 3,
|
'PRINT_MARSEYBUX_FOR_KIPPY_ON_PCMEMES': 3,
|
||||||
'VIEW_ACTIVE_USERS': 2,
|
'VIEW_ACTIVE_USERS': 2,
|
||||||
'MERGE_USERS': 3, # note: extra check for Aevann
|
'MERGE_USERS': 3, # note: extra check for Aevann
|
||||||
|
@ -169,7 +170,9 @@ PERMS = { # Minimum admin_level to perform action.
|
||||||
'CACHE_DUMP_INTERNAL': 2,
|
'CACHE_DUMP_INTERNAL': 2,
|
||||||
'DOMAINS_BAN': 3,
|
'DOMAINS_BAN': 3,
|
||||||
'NOTIFICATIONS_HOLE_INACTIVITY_DELETION': 2,
|
'NOTIFICATIONS_HOLE_INACTIVITY_DELETION': 2,
|
||||||
|
'NOTIFICATIONS_HOLE_CREATION': 2,
|
||||||
'NOTIFICATIONS_FROM_SHADOWBANNED_USERS': 3,
|
'NOTIFICATIONS_FROM_SHADOWBANNED_USERS': 3,
|
||||||
|
'NOTIFICATIONS_MODMAIL': 3,
|
||||||
}
|
}
|
||||||
|
|
||||||
FEATURES = {
|
FEATURES = {
|
||||||
|
|
|
@ -235,7 +235,7 @@ def submit_contact(v):
|
||||||
g.db.flush()
|
g.db.flush()
|
||||||
new_comment.top_comment_id = new_comment.id
|
new_comment.top_comment_id = new_comment.id
|
||||||
|
|
||||||
admins = g.db.query(User).filter(User.admin_level > 2)
|
admins = g.db.query(User).filter(User.admin_level >= PERMS['NOTIFICATIONS_MODMAIL'])
|
||||||
if SITE == 'watchpeopledie.co':
|
if SITE == 'watchpeopledie.co':
|
||||||
admins = admins.filter(User.id != AEVANN_ID)
|
admins = admins.filter(User.id != AEVANN_ID)
|
||||||
|
|
||||||
|
|
|
@ -345,7 +345,7 @@ def create_sub2(v):
|
||||||
mod = Mod(user_id=v.id, sub=sub.name)
|
mod = Mod(user_id=v.id, sub=sub.name)
|
||||||
g.db.add(mod)
|
g.db.add(mod)
|
||||||
|
|
||||||
admins = [x[0] for x in g.db.query(User.id).filter(User.admin_level > 1, User.id != v.id).all()]
|
admins = [x[0] for x in g.db.query(User.id).filter(User.admin_level >= PERMS['NOTIFICATIONS_HOLE_CREATION'], User.id != v.id).all()]
|
||||||
for admin in admins:
|
for admin in admins:
|
||||||
send_repeatable_notification(admin, f":!marseyparty: /h/{sub} has been created by @{v.username} :marseyparty:")
|
send_repeatable_notification(admin, f":!marseyparty: /h/{sub} has been created by @{v.username} :marseyparty:")
|
||||||
|
|
||||||
|
|
|
@ -62,7 +62,7 @@ gevent.spawn(leaderboard_thread)
|
||||||
@auth_required
|
@auth_required
|
||||||
def upvoters_posts(v, username, uid):
|
def upvoters_posts(v, username, uid):
|
||||||
u = get_user(username, v=v, include_shadowbanned=False)
|
u = get_user(username, v=v, include_shadowbanned=False)
|
||||||
if u.is_private and (not v or (v.id != u.id and v.admin_level < 2 and not v.eye)): abort(403)
|
if u.is_private and (not v or (v.id != u.id and v.admin_level < PERMS['VIEW_PRIVATE_PROFILES'] and not v.eye)): abort(403)
|
||||||
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
||||||
id = u.id
|
id = u.id
|
||||||
uid = int(uid)
|
uid = int(uid)
|
||||||
|
@ -84,7 +84,7 @@ def upvoters_posts(v, username, uid):
|
||||||
@auth_required
|
@auth_required
|
||||||
def upvoters_comments(v, username, uid):
|
def upvoters_comments(v, username, uid):
|
||||||
u = get_user(username, v=v, include_shadowbanned=False)
|
u = get_user(username, v=v, include_shadowbanned=False)
|
||||||
if u.is_private and (not v or (v.id != u.id and v.admin_level < 2 and not v.eye)): abort(403)
|
if u.is_private and (not v or (v.id != u.id and v.admin_level < PERMS['VIEW_PRIVATE_PROFILES'] and not v.eye)): abort(403)
|
||||||
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
||||||
id = u.id
|
id = u.id
|
||||||
uid = int(uid)
|
uid = int(uid)
|
||||||
|
@ -106,7 +106,7 @@ def upvoters_comments(v, username, uid):
|
||||||
@auth_required
|
@auth_required
|
||||||
def downvoters_posts(v, username, uid):
|
def downvoters_posts(v, username, uid):
|
||||||
u = get_user(username, v=v, include_shadowbanned=False)
|
u = get_user(username, v=v, include_shadowbanned=False)
|
||||||
if u.is_private and (not v or (v.id != u.id and v.admin_level < 2 and not v.eye)): abort(403)
|
if u.is_private and (not v or (v.id != u.id and v.admin_level < PERMS['VIEW_PRIVATE_PROFILES'] and not v.eye)): abort(403)
|
||||||
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
||||||
id = u.id
|
id = u.id
|
||||||
uid = int(uid)
|
uid = int(uid)
|
||||||
|
@ -128,7 +128,7 @@ def downvoters_posts(v, username, uid):
|
||||||
@auth_required
|
@auth_required
|
||||||
def downvoters_comments(v, username, uid):
|
def downvoters_comments(v, username, uid):
|
||||||
u = get_user(username, v=v, include_shadowbanned=False)
|
u = get_user(username, v=v, include_shadowbanned=False)
|
||||||
if u.is_private and (not v or (v.id != u.id and v.admin_level < 2 and not v.eye)): abort(403)
|
if u.is_private and (not v or (v.id != u.id and v.admin_level < PERMS['VIEW_PRIVATE_PROFILES'] and not v.eye)): abort(403)
|
||||||
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
||||||
id = u.id
|
id = u.id
|
||||||
uid = int(uid)
|
uid = int(uid)
|
||||||
|
@ -153,7 +153,7 @@ def downvoters_comments(v, username, uid):
|
||||||
@auth_required
|
@auth_required
|
||||||
def upvoting_posts(v, username, uid):
|
def upvoting_posts(v, username, uid):
|
||||||
u = get_user(username, v=v, include_shadowbanned=False)
|
u = get_user(username, v=v, include_shadowbanned=False)
|
||||||
if u.is_private and (not v or (v.id != u.id and v.admin_level < 2 and not v.eye)): abort(403)
|
if u.is_private and (not v or (v.id != u.id and v.admin_level < PERMS['VIEW_PRIVATE_PROFILES'] and not v.eye)): abort(403)
|
||||||
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
||||||
id = u.id
|
id = u.id
|
||||||
uid = int(uid)
|
uid = int(uid)
|
||||||
|
@ -175,7 +175,7 @@ def upvoting_posts(v, username, uid):
|
||||||
@auth_required
|
@auth_required
|
||||||
def upvoting_comments(v, username, uid):
|
def upvoting_comments(v, username, uid):
|
||||||
u = get_user(username, v=v, include_shadowbanned=False)
|
u = get_user(username, v=v, include_shadowbanned=False)
|
||||||
if u.is_private and (not v or (v.id != u.id and v.admin_level < 2 and not v.eye)): abort(403)
|
if u.is_private and (not v or (v.id != u.id and v.admin_level < PERMS['VIEW_PRIVATE_PROFILES'] and not v.eye)): abort(403)
|
||||||
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
||||||
id = u.id
|
id = u.id
|
||||||
uid = int(uid)
|
uid = int(uid)
|
||||||
|
@ -197,7 +197,7 @@ def upvoting_comments(v, username, uid):
|
||||||
@auth_required
|
@auth_required
|
||||||
def downvoting_posts(v, username, uid):
|
def downvoting_posts(v, username, uid):
|
||||||
u = get_user(username, v=v, include_shadowbanned=False)
|
u = get_user(username, v=v, include_shadowbanned=False)
|
||||||
if u.is_private and (not v or (v.id != u.id and v.admin_level < 2 and not v.eye)): abort(403)
|
if u.is_private and (not v or (v.id != u.id and v.admin_level < PERMS['VIEW_PRIVATE_PROFILES'] and not v.eye)): abort(403)
|
||||||
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
||||||
id = u.id
|
id = u.id
|
||||||
uid = int(uid)
|
uid = int(uid)
|
||||||
|
@ -219,7 +219,7 @@ def downvoting_posts(v, username, uid):
|
||||||
@auth_required
|
@auth_required
|
||||||
def downvoting_comments(v, username, uid):
|
def downvoting_comments(v, username, uid):
|
||||||
u = get_user(username, v=v, include_shadowbanned=False)
|
u = get_user(username, v=v, include_shadowbanned=False)
|
||||||
if u.is_private and (not v or (v.id != u.id and v.admin_level < 2 and not v.eye)): abort(403)
|
if u.is_private and (not v or (v.id != u.id and v.admin_level < PERMS['VIEW_PRIVATE_PROFILES'] and not v.eye)): abort(403)
|
||||||
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
||||||
id = u.id
|
id = u.id
|
||||||
uid = int(uid)
|
uid = int(uid)
|
||||||
|
@ -241,7 +241,7 @@ def downvoting_comments(v, username, uid):
|
||||||
@auth_required
|
@auth_required
|
||||||
def user_upvoted_posts(v, username):
|
def user_upvoted_posts(v, username):
|
||||||
u = get_user(username, v=v, include_shadowbanned=False)
|
u = get_user(username, v=v, include_shadowbanned=False)
|
||||||
if u.is_private and (not v or (v.id != u.id and v.admin_level < 2 and not v.eye)): abort(403)
|
if u.is_private and (not v or (v.id != u.id and v.admin_level < PERMS['VIEW_PRIVATE_PROFILES'] and not v.eye)): abort(403)
|
||||||
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
||||||
|
|
||||||
page = max(1, int(request.values.get("page", 1)))
|
page = max(1, int(request.values.get("page", 1)))
|
||||||
|
@ -267,7 +267,7 @@ def user_upvoted_posts(v, username):
|
||||||
@auth_required
|
@auth_required
|
||||||
def user_upvoted_comments(v, username):
|
def user_upvoted_comments(v, username):
|
||||||
u = get_user(username, v=v, include_shadowbanned=False)
|
u = get_user(username, v=v, include_shadowbanned=False)
|
||||||
if u.is_private and (not v or (v.id != u.id and v.admin_level < 2 and not v.eye)): abort(403)
|
if u.is_private and (not v or (v.id != u.id and v.admin_level < PERMS['VIEW_PRIVATE_PROFILES'] and not v.eye)): abort(403)
|
||||||
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
if not (v.id == u.id or v.admin_level >= PERMS['USER_VOTERS_VISIBLE']): abort(403)
|
||||||
|
|
||||||
page = max(1, int(request.values.get("page", 1)))
|
page = max(1, int(request.values.get("page", 1)))
|
||||||
|
@ -877,7 +877,7 @@ def messagereply(v):
|
||||||
|
|
||||||
|
|
||||||
if c.top_comment.sentto == 2:
|
if c.top_comment.sentto == 2:
|
||||||
admins = g.db.query(User.id).filter(User.admin_level > 2, User.id != v.id)
|
admins = g.db.query(User.id).filter(User.admin_level >= PERMS['NOTIFICATIONS_MODMAIL'], User.id != v.id)
|
||||||
if SITE == 'watchpeopledie.co':
|
if SITE == 'watchpeopledie.co':
|
||||||
admins = admins.filter(User.id != AEVANN_ID)
|
admins = admins.filter(User.id != AEVANN_ID)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue