From 5a0f7e540dca68dc71a46d4f082b60c34f57e551 Mon Sep 17 00:00:00 2001 From: Aevann Date: Tue, 7 Mar 2023 20:55:17 +0200 Subject: [PATCH] make group names case-insensetive --- files/helpers/sanitize.py | 2 +- files/routes/groups.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/files/helpers/sanitize.py b/files/helpers/sanitize.py index 7c3760250..8ccf78cb5 100644 --- a/files/helpers/sanitize.py +++ b/files/helpers/sanitize.py @@ -421,7 +421,7 @@ def sanitize(sanitized, golden=True, limit_pings=0, showmore=True, count_marseys if FEATURES['PING_GROUPS']: for i in group_mention_regex.finditer(sanitized): - name = i.group(2) + name = i.group(2).lower() if name == 'everyone': sanitized = group_mention_regex.sub(r'\1!\2', sanitized) else: diff --git a/files/routes/groups.py b/files/routes/groups.py index c4551bba7..656e662e2 100644 --- a/files/routes/groups.py +++ b/files/routes/groups.py @@ -64,6 +64,8 @@ def create_group(v): @limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID) @auth_required def join_group(v:User, group_name): + group_name = group_name.strip().lower() + group = g.db.get(Group, group_name) if not group: abort(404) existing = g.db.query(GroupMembership).filter_by(user_id=v.id, group_name=group_name).one_or_none() @@ -80,6 +82,8 @@ def join_group(v:User, group_name): @limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID) @auth_required def leave_group(v:User, group_name): + group_name = group_name.strip().lower() + if group_name == 'jannies': abort(403, "You can't leave !jannies") @@ -107,6 +111,8 @@ def leave_group(v:User, group_name): @limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID) @auth_required def memberships(v:User, group_name): + group_name = group_name.strip().lower() + group = g.db.get(Group, group_name) if not group: abort(404) @@ -128,6 +134,8 @@ def memberships(v:User, group_name): @limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID) @auth_required def group_approve(v:User, group_name, user_id): + group_name = group_name.strip().lower() + group = g.db.get(Group, group_name) if not group: abort(404) @@ -151,6 +159,8 @@ def group_approve(v:User, group_name, user_id): @limiter.limit(DEFAULT_RATELIMIT, key_func=get_ID) @auth_required def group_reject(v:User, group_name, user_id): + group_name = group_name.strip().lower() + group = g.db.get(Group, group_name) if not group: abort(404)