From 64a72ea7524eba95d58ac1bc8f6dc8c992e02497 Mon Sep 17 00:00:00 2001 From: Aevann Date: Sun, 11 Feb 2024 15:44:10 +0200 Subject: [PATCH] pass ownership if owner leaves --- files/routes/groups.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/files/routes/groups.py b/files/routes/groups.py index b9f1638a3..7c87ee9ba 100644 --- a/files/routes/groups.py +++ b/files/routes/groups.py @@ -199,6 +199,18 @@ def group_reject(v, group_name, user_id): if v.id == membership.user_id: msg = f"You have left !{group} successfully!" + + if v.id == group.owner_id: + new_owner_id = g.db.query(GroupMembership.user_id).filter( + GroupMembership.user_id != v.id, + GroupMembership.group_name == group.name, + GroupMembership.approved_utc != None, + ).order_by(GroupMembership.is_mod.desc(), GroupMembership.approved_utc).first()[0] + + if new_owner_id: + send_repeatable_notification(new_owner_id, f"@{v.username} (!{group}'s owner) has left the group, You're now the new owner!") + group.owner_id = new_owner_id + g.db.add(group) else: if membership.approved_utc: text = f"@{v.username} (!{group}'s owner) has kicked you from the group!"