diff --git a/files/routes/groups.py b/files/routes/groups.py index a747024b6..71f11fde4 100644 --- a/files/routes/groups.py +++ b/files/routes/groups.py @@ -187,8 +187,12 @@ def group_reject(v, group_name, user_id): if not membership: abort(404, "There is no membership to reject!") - if v.id != group.owner.id and membership.is_mod: - abort(403, "Only the group owner can kick mods!") + if v.id != membership.user_id: #implies kicking and not leaving + if membership.user_id == group.owner.id: + abort(403, "You can't kick the group owner!") + + if v.id != group.owner.id and membership.is_mod: + abort(403, "Only the group owner can kick mods!") if v.id == membership.user_id: msg = f"You have left !{group} successfully!" diff --git a/files/templates/group_memberships.html b/files/templates/group_memberships.html index f53dd2745..716978430 100644 --- a/files/templates/group_memberships.html +++ b/files/templates/group_memberships.html @@ -66,9 +66,11 @@ {% endif %} -
- -
+ {% if v.id == membership.user_id or v.id == group.owner.id or not membership.user.mods_group(group) %} +
+ +
+ {% endif %}