remove ban_evade logic
parent
40cd38d052
commit
8a8a67a059
|
@ -128,7 +128,6 @@ class User(Base):
|
|||
is_nofollow = Column(Boolean, default=False)
|
||||
custom_filter_list = Column(String)
|
||||
discord_id = Column(String)
|
||||
ban_evade = Column(Integer, default=0)
|
||||
original_username = Column(String)
|
||||
referred_by = Column(Integer, ForeignKey("users.id"))
|
||||
currently_held_lottery_tickets = Column(Integer, default=0)
|
||||
|
@ -835,10 +834,18 @@ class User(Base):
|
|||
|
||||
@property
|
||||
@lazy
|
||||
def has_shadowbanned_alts(self):
|
||||
def check_ban_evade(self):
|
||||
for u in self.alts_unique:
|
||||
if u.shadowbanned or u.is_suspended_permanently: return True
|
||||
return False
|
||||
if u.shadowbanned:
|
||||
self.shadowbanned = u.shadowbanned
|
||||
g.db.add(self)
|
||||
g.db.commit()
|
||||
return
|
||||
if u.is_suspended_permanently:
|
||||
self.shadowbanned = u.banned_by.username
|
||||
g.db.add(self)
|
||||
g.db.commit()
|
||||
return
|
||||
|
||||
@property
|
||||
@lazy
|
||||
|
|
|
@ -21,7 +21,6 @@ def award_timers(v, bot=False):
|
|||
if v.unban_utc and v.unban_utc < now:
|
||||
v.is_banned = 0
|
||||
v.unban_utc = 0
|
||||
v.ban_evade = 0
|
||||
v.ban_reason = None
|
||||
notify_if_not_bot("You have been unbanned!")
|
||||
if v.agendaposter and v.agendaposter != 1 and v.agendaposter < now:
|
||||
|
|
|
@ -91,16 +91,11 @@ def get_logged_in_user():
|
|||
|
||||
return v
|
||||
|
||||
def check_ban_evade(v):
|
||||
if v and not v.patron and v.admin_level < 2 and v.ban_evade and not v.unban_utc:
|
||||
v.shadowbanned = "AutoJanny"
|
||||
g.db.add(v)
|
||||
|
||||
def auth_desired(f):
|
||||
def wrapper(*args, **kwargs):
|
||||
v = get_logged_in_user()
|
||||
|
||||
check_ban_evade(v)
|
||||
v.check_ban_evade()
|
||||
|
||||
return make_response(f(*args, v=v, **kwargs))
|
||||
|
||||
|
@ -120,7 +115,7 @@ def auth_desired_with_logingate(f):
|
|||
if not redir: redir = '/'
|
||||
return redirect(redir)
|
||||
|
||||
check_ban_evade(v)
|
||||
v.check_ban_evade()
|
||||
|
||||
return make_response(f(*args, v=v, **kwargs))
|
||||
|
||||
|
@ -132,7 +127,7 @@ def auth_required(f):
|
|||
v = get_logged_in_user()
|
||||
if not v: abort(401)
|
||||
|
||||
check_ban_evade(v)
|
||||
v.check_ban_evade()
|
||||
|
||||
return make_response(f(*args, v=v, **kwargs))
|
||||
|
||||
|
@ -147,7 +142,7 @@ def is_not_permabanned(f):
|
|||
|
||||
if not v: abort(401)
|
||||
|
||||
check_ban_evade(v)
|
||||
v.check_ban_evade()
|
||||
|
||||
if v.is_suspended_permanently:
|
||||
return {"error": "Internal server error"}, 500
|
||||
|
|
|
@ -278,7 +278,6 @@ def revert_actions(v, username):
|
|||
for user in users:
|
||||
user.shadowbanned = None
|
||||
user.unban_utc = 0
|
||||
user.ban_evade = 0
|
||||
user.ban_reason = None
|
||||
if user.is_banned:
|
||||
user.is_banned = 0
|
||||
|
@ -288,7 +287,6 @@ def revert_actions(v, username):
|
|||
for u in user.alts:
|
||||
u.shadowbanned = None
|
||||
u.unban_utc = 0
|
||||
u.ban_evade = 0
|
||||
u.ban_reason = None
|
||||
if u.is_banned:
|
||||
u.is_banned = 0
|
||||
|
@ -931,11 +929,9 @@ def shadowban(user_id, v):
|
|||
def unshadowban(user_id, v):
|
||||
user = get_account(user_id)
|
||||
user.shadowbanned = None
|
||||
user.ban_evade = 0
|
||||
g.db.add(user)
|
||||
for alt in user.alts:
|
||||
alt.shadowbanned = None
|
||||
alt.ban_evade = 0
|
||||
g.db.add(alt)
|
||||
|
||||
ma = ModAction(
|
||||
|
@ -1058,7 +1054,6 @@ def unban_user(user_id, v):
|
|||
|
||||
user.is_banned = 0
|
||||
user.unban_utc = 0
|
||||
user.ban_evade = 0
|
||||
user.ban_reason = None
|
||||
send_repeatable_notification(user.id, f"@{v.username} has unbanned you!")
|
||||
g.db.add(user)
|
||||
|
@ -1067,7 +1062,6 @@ def unban_user(user_id, v):
|
|||
if x.is_banned: send_repeatable_notification(x.id, f"@{v.username} has unbanned you!")
|
||||
x.is_banned = 0
|
||||
x.unban_utc = 0
|
||||
x.ban_evade = 0
|
||||
x.ban_reason = None
|
||||
g.db.add(x)
|
||||
|
||||
|
|
|
@ -232,7 +232,6 @@ def award_thing(v, thing_type, id):
|
|||
else:
|
||||
author.unban_utc = 0
|
||||
author.is_banned = 0
|
||||
author.ban_evade = 0
|
||||
author.ban_reason = None
|
||||
send_repeatable_notification(author.id, "You have been unbanned!")
|
||||
|
||||
|
|
|
@ -333,7 +333,6 @@ def sign_up_post(v):
|
|||
password=request.values.get("password"),
|
||||
email=email,
|
||||
referred_by=ref_id or None,
|
||||
ban_evade =int(any((x.is_banned or x.shadowbanned) and not x.unban_utc for x in g.db.query(User).filter(User.id.in_(session.get("history", []))).all() if x)),
|
||||
profileurl=profileurl
|
||||
)
|
||||
|
||||
|
@ -357,10 +356,7 @@ def sign_up_post(v):
|
|||
|
||||
|
||||
check_for_alts(new_user.id)
|
||||
if new_user.has_shadowbanned_alts:
|
||||
new_user.shadowbanned = "AutoJanny"
|
||||
g.db.add(new_user)
|
||||
g.db.commit()
|
||||
new_user.check_ban_evade()
|
||||
|
||||
send_notification(new_user.id, WELCOME_MSG)
|
||||
|
||||
|
|
|
@ -888,7 +888,6 @@ CREATE TABLE public.users (
|
|||
custom_filter_list character varying(1000) DEFAULT ''::character varying,
|
||||
discord_id character varying(64),
|
||||
stored_subscriber_count integer DEFAULT 0 NOT NULL,
|
||||
ban_evade integer DEFAULT 0 NOT NULL,
|
||||
original_username character varying(30),
|
||||
customtitle character varying(1000),
|
||||
defaultsorting character varying(15) DEFAULT 'hot'::character varying NOT NULL,
|
||||
|
|
Loading…
Reference in New Issue