From 68deff8f6049469fe6695080f5110479f4b6ca5b Mon Sep 17 00:00:00 2001 From: justcool393 Date: Sun, 30 Oct 2022 02:19:49 -0500 Subject: [PATCH] users: is_following adjustments users: move is_following check to part of the user model itself users: also don't query followers if the username is wrong and we're redirecting anyway --- files/classes/user.py | 2 +- files/routes/users.py | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/files/classes/user.py b/files/classes/user.py index 6965a1cb1..35a4667b8 100644 --- a/files/classes/user.py +++ b/files/classes/user.py @@ -741,7 +741,7 @@ class User(Base): @lazy def has_follower(self, user): - + if not user or self.id == user.id: return False # users can't follow themselves return g.db.query(Follow).filter_by(target_id=self.id, user_id=user.id).one_or_none() @property diff --git a/files/routes/users.py b/files/routes/users.py index dcfee02b9..9c82e205b 100644 --- a/files/routes/users.py +++ b/files/routes/users.py @@ -642,17 +642,11 @@ def visitors(v): @app.get("/logged_out/@") @auth_desired_with_logingate def u_username(username, v=None): - u = get_user(username, v=v, include_blocks=True, include_shadowbanned=False, rendered=True) - - if v and username == v.username: - is_following = False - else: - is_following = (v and u.has_follower(v)) - - if username != u.username: return redirect(SITE_FULL + request.full_path.replace(username, u.username)) + + is_following = (v and u.has_follower(v)) if v and v.id not in (u.id, DAD_ID) and u.viewers_recorded: g.db.flush()