diff options
author | David Baker <dbkr@matrix.org> | 2014-09-03 18:25:17 +0100 |
---|---|---|
committer | David Baker <dbkr@matrix.org> | 2014-09-03 18:25:17 +0100 |
commit | d72ce4da64416eb10224e6a6b55aecdd27967b6b (patch) | |
tree | ec86c93b1ebaf0ebb11f9e9d2a5377f608ab98b2 /synapse/rest/room.py | |
parent | Make registering and logging in with a threepid work in the webclient. (diff) | |
parent | Fix ban path (diff) | |
download | synapse-d72ce4da64416eb10224e6a6b55aecdd27967b6b.tar.xz |
Merge branch 'develop' of github.com:matrix-org/synapse into develop
Conflicts: synapse/http/client.py
Diffstat (limited to 'synapse/rest/room.py')
-rw-r--r-- | synapse/rest/room.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/synapse/rest/room.py b/synapse/rest/room.py index d76a2f5cd4..308b447090 100644 --- a/synapse/rest/room.py +++ b/synapse/rest/room.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright 2014 matrix.org +# Copyright 2014 OpenMarket Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -388,7 +388,7 @@ class RoomMembershipRestServlet(RestServlet): def register(self, http_server): # /rooms/$roomid/[invite|join|leave] PATTERN = ("/rooms/(?P<room_id>[^/]*)/" + - "(?P<membership_action>join|invite|leave|ban)") + "(?P<membership_action>join|invite|leave|ban|kick)") register_txn_path(self, PATTERN, http_server) @defer.inlineCallbacks @@ -399,11 +399,14 @@ class RoomMembershipRestServlet(RestServlet): # target user is you unless it is an invite state_key = user.to_string() - if membership_action in ["invite", "ban"]: + if membership_action in ["invite", "ban", "kick"]: if "user_id" not in content: raise SynapseError(400, "Missing user_id key.") state_key = content["user_id"] + if membership_action == "kick": + membership_action = "leave" + event = self.event_factory.create_event( etype=RoomMemberEvent.TYPE, content={"membership": unicode(membership_action)}, |