From ede161d2965fa41789c0ef799f154d7a27f60d1c Mon Sep 17 00:00:00 2001
From: Emmanuel ROHEE <erohee@amdocs.com>
Date: Wed, 3 Sep 2014 16:59:09 +0200
Subject: [PATCH] Added /kick $user_id

---
 webclient/room/room-controller.js | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/webclient/room/room-controller.js b/webclient/room/room-controller.js
index 69305c7fa..00f585b5e 100644
--- a/webclient/room/room-controller.js
+++ b/webclient/room/room-controller.js
@@ -283,8 +283,18 @@ angular.module('RoomController', ['ngSanitize', 'mFileInput'])
                     }
                     break;
                     
+                case "/kick":
+                    // Kick a user from the room
+                    if (2 === args.length) {
+                        var user_id = args[1];
+
+                        // Set his state in the room as leave
+                        promise = matrixService.membershipChange($scope.room_id, user_id, "leave");
+                    }
+                    break;
+                    
                 case "/ban":
-                    // Ban the user id from the room
+                    // Ban a user from the room
                     if (2 <= args.length) {
                         // TODO: The user may have entered the display name
                         // Need display name -> user_id resolution. Pb: how to manage user with same display names?
@@ -299,7 +309,7 @@ angular.module('RoomController', ['ngSanitize', 'mFileInput'])
                     break;
                     
                 case "/unban":
-                    // Unban the user id from the room
+                    // Unban a user from the room
                     if (2 === args.length) {
                         var user_id = args[1];
 
@@ -309,7 +319,7 @@ angular.module('RoomController', ['ngSanitize', 'mFileInput'])
                     break;
                     
                 case "/op":
-                    // Define the power level of an user
+                    // Define the power level of a user
                     if (3 === args.length) {
                         var user_id = args[1];
                         var powerLevel = parseInt(args[2]);
@@ -318,7 +328,7 @@ angular.module('RoomController', ['ngSanitize', 'mFileInput'])
                     break;
                     
                 case "/deop":
-                    // Reset the power level of an user
+                    // Reset the power level of a user
                     if (2 === args.length) {
                         var user_id = args[1];
                         promise = matrixService.setUserPowerLevel($scope.room_id, user_id, undefined);