Bugfix `make_room_admin` fails for users that have left a private room (#10367)
Fixes: #10338pull/10391/head
parent
93729719b8
commit
d9b3637e44
|
@ -0,0 +1 @@
|
||||||
|
Bugfix `make_room_admin` fails for users that have left a private room.
|
|
@ -462,6 +462,7 @@ class MakeRoomAdminRestServlet(ResolveRoomIdMixin, RestServlet):
|
||||||
super().__init__(hs)
|
super().__init__(hs)
|
||||||
self.hs = hs
|
self.hs = hs
|
||||||
self.auth = hs.get_auth()
|
self.auth = hs.get_auth()
|
||||||
|
self.store = hs.get_datastore()
|
||||||
self.event_creation_handler = hs.get_event_creation_handler()
|
self.event_creation_handler = hs.get_event_creation_handler()
|
||||||
self.state_handler = hs.get_state_handler()
|
self.state_handler = hs.get_state_handler()
|
||||||
self.is_mine_id = hs.is_mine_id
|
self.is_mine_id = hs.is_mine_id
|
||||||
|
@ -500,7 +501,13 @@ class MakeRoomAdminRestServlet(ResolveRoomIdMixin, RestServlet):
|
||||||
admin_user_id = None
|
admin_user_id = None
|
||||||
|
|
||||||
for admin_user in reversed(admin_users):
|
for admin_user in reversed(admin_users):
|
||||||
if room_state.get((EventTypes.Member, admin_user)):
|
(
|
||||||
|
current_membership_type,
|
||||||
|
_,
|
||||||
|
) = await self.store.get_local_current_membership_for_user_in_room(
|
||||||
|
admin_user, room_id
|
||||||
|
)
|
||||||
|
if current_membership_type == "join":
|
||||||
admin_user_id = admin_user
|
admin_user_id = admin_user
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue