Clearly show when an user cannot join a room.

In realtime show who kicked or banned him.
This commit is contained in:
Emmanuel ROHEE 2014-09-11 16:54:51 +02:00
parent fb082cf50f
commit ceec607e7f
2 changed files with 39 additions and 10 deletions

View file

@ -27,6 +27,7 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput'])
$scope.state = {
user_id: matrixService.config().user_id,
permission_denied: undefined, // If defined, this string contains the reason why the user cannot join the room
first_pagination: true, // this is toggled off when the first pagination is done
can_paginate: false, // this is toggled off when we are not ready yet to paginate or when we run out of items
paginating: false, // used to avoid concurrent pagination requests pulling in dup contents
@ -129,6 +130,28 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput'])
$scope.state.waiting_for_joined_event = false;
onInit3();
}
else if (event.state_key === $scope.state.user_id && "invite" !== event.membership && "join" !== event.membership) {
var user;
if ($scope.members[event.user_id]) {
user = $scope.members[event.user_id].displayname;
}
if (user) {
user = user + " (" + event.user_id + ")";
}
else {
user = event.user_id;
}
if ("ban" === event.membership) {
$scope.state.permission_denied = "You have been banned by " + user;
}
else {
$scope.state.permission_denied = "You have been kicked by " + user;
}
}
else {
scrollToBottom();
updateMemberList(event);
@ -654,7 +677,7 @@ angular.module('RoomController', ['ngSanitize', 'matrixFilter', 'mFileInput'])
},
function(reason) {
console.log("Can't join room: " + JSON.stringify(reason));
$scope.feedback = "You do not have permission to join this room";
$scope.state.permission_denied = "You do not have permission to join this room";
});
}
else {