From 5e4a843e8e11ba93aef86602c4ffbb7c5eb0268d Mon Sep 17 00:00:00 2001 From: Aevann Date: Fri, 10 Mar 2023 04:10:17 +0200 Subject: [PATCH] add MODS_EVERY_GROUP perm for myself --- files/helpers/config/const.py | 1 + files/routes/groups.py | 4 ++-- files/templates/group_memberships.html | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/files/helpers/config/const.py b/files/helpers/config/const.py index 5192e3c76..ea55b83d7 100644 --- a/files/helpers/config/const.py +++ b/files/helpers/config/const.py @@ -499,6 +499,7 @@ PERMS = { # Minimum admin_level to perform action. 'SEE_GHOST_VOTES': 5, 'MODS_EVERY_HOLE': 6, + 'MODS_EVERY_GROUP': 6, } FEATURES = { diff --git a/files/routes/groups.py b/files/routes/groups.py index 656e662e2..51bb4bcf7 100644 --- a/files/routes/groups.py +++ b/files/routes/groups.py @@ -139,7 +139,7 @@ def group_approve(v:User, group_name, user_id): group = g.db.get(Group, group_name) if not group: abort(404) - if v.id != group.owner.id: + if v.id != group.owner.id and v.admin_level < PERMS['MODS_EVERY_GROUP']: abort(403, f"Only the group owner (@{group.owner.username}) can approve applications!") application = g.db.query(GroupMembership).filter_by(user_id=user_id, group_name=group.name).one_or_none() @@ -164,7 +164,7 @@ def group_reject(v:User, group_name, user_id): group = g.db.get(Group, group_name) if not group: abort(404) - if v.id != group.owner.id: + if v.id != group.owner.id and v.admin_level < PERMS['MODS_EVERY_GROUP']: abort(403, f"Only the group owner (@{group.owner.username}) can reject memberships!") membership = g.db.query(GroupMembership).filter_by(user_id=user_id, group_name=group.name).one_or_none() diff --git a/files/templates/group_memberships.html b/files/templates/group_memberships.html index d7cc41757..cd2ab90b5 100644 --- a/files/templates/group_memberships.html +++ b/files/templates/group_memberships.html @@ -31,7 +31,7 @@ Applied on {% endif %} - {% if v.id == group.owner.id %} + {% if v.id == group.owner.id or v.admin_level >= PERMS['MODS_EVERY_GROUP'] %} {% endif %} @@ -56,7 +56,7 @@ {% endif %} - {% if v.id == group.owner.id %} + {% if v.id == group.owner.id or v.admin_level >= PERMS['MODS_EVERY_GROUP'] %}
@@ -75,7 +75,7 @@
{% endmacro %} -{% if v.id == group.owner.id %} +{% if v.id == group.owner.id or v.admin_level >= PERMS['MODS_EVERY_GROUP'] %} {{process_memberships(applications, 'applications')}} {{process_memberships(members, 'members')}}