Skip to content
Snippets Groups Projects
Commit b0483cd4 authored by Emmanuel ROHEE's avatar Emmanuel ROHEE
Browse files

Filter room where the user has been banned

parent 8aa4b7bf
No related branches found
No related tags found
No related merge requests found
...@@ -398,6 +398,22 @@ angular.module('eventHandlerService', []) ...@@ -398,6 +398,22 @@ angular.module('eventHandlerService', [])
} }
return memberCount; return memberCount;
},
/**
* Get the member object of a room member
* @param {String} room_id the room id
* @param {String} user_id the id of the user
* @returns {undefined | Object} the member object of this user in this room if he is part of the room
*/
getMember: function(room_id, user_id) {
var member;
var room = $rootScope.events.rooms[room_id];
if (room) {
member = room.members[user_id];
}
return member;
} }
}; };
}]); }]);
...@@ -17,19 +17,27 @@ ...@@ -17,19 +17,27 @@
'use strict'; 'use strict';
angular.module('RecentsController') angular.module('RecentsController')
.filter('orderRecents', ["eventHandlerService", function(eventHandlerService) { .filter('orderRecents', ["matrixService", "eventHandlerService", function(matrixService, eventHandlerService) {
return function(rooms) { return function(rooms) {
var user_id = matrixService.config().user_id;
// Transform the dict into an array // Transform the dict into an array
// The key, room_id, is already in value objects // The key, room_id, is already in value objects
var filtered = []; var filtered = [];
angular.forEach(rooms, function(room, room_id) { angular.forEach(rooms, function(room, room_id) {
// Count users here // Show the room only if the user has joined it or has been invited
// TODO: Compute it directly in eventHandlerService // (ie, do not show it if he has been banned)
room.numUsersInRoom = eventHandlerService.getUsersCountInRoom(room_id); var member = eventHandlerService.getMember(room_id, user_id);
if (member && ("invite" === member.membership || "join" === member.membership)) {
// Count users here
// TODO: Compute it directly in eventHandlerService
room.numUsersInRoom = eventHandlerService.getUsersCountInRoom(room_id);
filtered.push(room); filtered.push(room);
}
}); });
// And time sort them // And time sort them
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment