diff options
author | David Baker <dave@matrix.org> | 2017-02-14 15:10:55 +0000 |
---|---|---|
committer | David Baker <dave@matrix.org> | 2017-02-14 15:10:55 +0000 |
commit | 355d62c499b63f337c484cca6704161a3a05da1d (patch) | |
tree | 5caec57a82fdc1c2e0de200d64f9745ad1e81412 /synapse | |
parent | Merge pull request #1891 from matrix-org/dbkr/remove_unused_constants (diff) | |
download | synapse-355d62c499b63f337c484cca6704161a3a05da1d.tar.xz |
Make kick & ban reasons work
We somehow specced APIs with reason strings, preserve the content in the events and even have the clients display them, but failed to actually pass the parameter through to the event content.
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/rest/client/v1/room.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/synapse/rest/client/v1/room.py b/synapse/rest/client/v1/room.py index 2ebf5e59a0..728e3df0e3 100644 --- a/synapse/rest/client/v1/room.py +++ b/synapse/rest/client/v1/room.py @@ -609,6 +609,10 @@ class RoomMembershipRestServlet(ClientV1RestServlet): raise SynapseError(400, "Missing user_id key.") target = UserID.from_string(content["user_id"]) + event_content = None + if 'reason' in content and membership_action in ['kick', 'ban']: + event_content = {'reason': content['reason']} + yield self.handlers.room_member_handler.update_membership( requester=requester, target=target, @@ -616,6 +620,7 @@ class RoomMembershipRestServlet(ClientV1RestServlet): action=membership_action, txn_id=txn_id, third_party_signed=content.get("third_party_signed", None), + content=event_content, ) defer.returnValue((200, {})) |