diff --git a/files/classes/user.py b/files/classes/user.py index 8b8679b1e..7a58d6225 100644 --- a/files/classes/user.py +++ b/files/classes/user.py @@ -98,7 +98,7 @@ class User(Base): chud = Column(Integer, default=0) queen = Column(Integer, default=0) chud_phrase = Column(String) - is_activated = Column(Boolean, default=False) + email_verified = Column(Boolean, default=False) shadowbanned = Column(Integer, ForeignKey("users.id")) chudded_by = Column(Integer, ForeignKey("users.id")) over_18 = Column(Boolean, default=False) diff --git a/files/helpers/stats.py b/files/helpers/stats.py index e00e6909e..181c429b4 100644 --- a/files/helpers/stats.py +++ b/files/helpers/stats.py @@ -101,7 +101,7 @@ def stats(): "users": "{:,}".format(g.db.query(User).count()), "private users": "{:,}".format(g.db.query(User).filter_by(is_private=True).count()), "banned users": "{:,}".format(g.db.query(User).filter(User.is_banned != None).count()), - "verified email users": "{:,}".format(g.db.query(User).filter_by(is_activated=True).count()), + "verified email users": "{:,}".format(g.db.query(User).filter_by(email_verified=True).count()), "coins in circulation": "{:,}".format(g.db.query(func.sum(User.coins)).scalar()), "total shop sales": "{:,}".format(g.db.query(func.sum(User.coins_spent)).scalar()), "signups last 24h": "{:,}".format(g.db.query(User).filter(User.created_utc > day).count()), diff --git a/files/routes/mail.py b/files/routes/mail.py index 509a2ecad..ab49fb6d0 100644 --- a/files/routes/mail.py +++ b/files/routes/mail.py @@ -16,7 +16,7 @@ from files.__main__ import app, limiter @limiter.limit(DEFAULT_RATELIMIT, deduct_when=lambda response: response.status_code < 400, key_func=get_ID) @auth_required def verify_email(v): - if v.is_activated: + if v.email_verified: abort(400, "Email already verified!") send_verification_email(v) @@ -45,11 +45,11 @@ def activate(v): if not validate_hash(f"{email}+{id}+{timestamp}", token): abort(403) - if user.is_activated and user.email == email: + if user.email_verified and user.email == email: abort(400, "Email already verified!") user.email = email - user.is_activated = True + user.email_verified = True claim_rewards_all_users() badge_grant(user=user, badge_id=2) diff --git a/files/routes/users.py b/files/routes/users.py index 0b8582e50..5f64de3ae 100644 --- a/files/routes/users.py +++ b/files/routes/users.py @@ -1358,8 +1358,8 @@ def fp(v, fp): v.fp = fp users = g.db.query(User).filter(User.fp == fp, User.id != v.id).all() - if v.email and v.is_activated: - alts = g.db.query(User).filter(User.email == v.email, User.is_activated, User.id != v.id).all() + if v.email and v.email_verified: + alts = g.db.query(User).filter(User.email == v.email, User.email_verified, User.id != v.id).all() if alts: users += alts for u in users: @@ -1495,7 +1495,7 @@ def gumroad(): @limiter.limit(DEFAULT_RATELIMIT, deduct_when=lambda response: response.status_code < 400, key_func=get_ID) @auth_required def settings_claim_rewards(v): - if not (v.email and v.is_activated): + if not (v.email and v.email_verified): abort(400, f"You must have a verified email to verify {patron} status and claim your rewards!") transactions = g.db.query(Transaction).filter_by(email=v.email, claimed=None).all() diff --git a/files/templates/settings/security.html b/files/templates/settings/security.html index 61df0e9d0..b6b12d314 100644 --- a/files/templates/settings/security.html +++ b/files/templates/settings/security.html @@ -16,7 +16,7 @@
- {% if v.email and not v.is_activated %} + {% if v.email and not v.email_verified %}
Email not verified. You will not be able to recover your account with this email until you verify it.
{% elif not v.email %}
Add an email to secure your account in case you forget your password.
diff --git a/migrations/20230803-rename-is_activated-to-email_verified.sql b/migrations/20230803-rename-is_activated-to-email_verified.sql new file mode 100644 index 000000000..086e3404d --- /dev/null +++ b/migrations/20230803-rename-is_activated-to-email_verified.sql @@ -0,0 +1 @@ +alter table users rename column is_activated to email_verified; diff --git a/schema.sql b/schema.sql index 32e1d834c..5fa097b30 100644 --- a/schema.sql +++ b/schema.sql @@ -109,7 +109,7 @@ CREATE TABLE public.users ( created_utc integer NOT NULL, admin_level integer DEFAULT 0 NOT NULL, over_18 boolean DEFAULT false NOT NULL, - is_activated boolean DEFAULT false NOT NULL, + email_verified boolean DEFAULT false NOT NULL, bio character varying(5000), bio_html character varying(20000), referred_by integer, @@ -3074,4 +3074,3 @@ ALTER TABLE ONLY public.comments -- -- PostgreSQL database dump complete -- - diff --git a/seed-users.sql b/seed-users.sql index cd9c566cf..f93db3d06 100644 --- a/seed-users.sql +++ b/seed-users.sql @@ -1,5 +1,5 @@ INSERT INTO public.users ( - username, passhash, created_utc, admin_level, over_18, is_activated, + username, passhash, created_utc, admin_level, over_18, email_verified, original_username, defaultsorting, defaultsortingcomments, defaulttime, namecolor, titlecolor, theme, themecolor, reddit, pronouns, verified, profileurl, highres, marsify, last_viewed_post_notifs, last_viewed_log_notifs, last_viewed_reddit_notifs