make group names case-insensetive

pull/138/head
Aevann 2023-03-07 20:55:17 +02:00
parent c810a84811
commit 5a0f7e540d
2 changed files with 11 additions and 1 deletions

View File

@ -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<a href="/users">!\2</a>', sanitized)
else:

View File

@ -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)