Put logged users on top in the search panel

bzr revid: nicolas.vanhoren@openerp.com-20130902125856-6ft2711c0sr29j83
This commit is contained in:
niv-openerp 2013-09-02 14:58:56 +02:00
parent f958499b9e
commit 2689878df5
2 changed files with 8 additions and 4 deletions

View File

@ -229,7 +229,8 @@ class im_user(osv.osv):
def search_users(self, cr, uid, text_search, fields, limit, context=None):
my_id = self.get_my_id(cr, uid, None, context)
found = self.search(cr, uid, [["name", "ilike", text_search], ["id", "<>", my_id], ["uuid", "=", False]], limit=limit, context=context)
found = self.search(cr, uid, [["name", "ilike", text_search], ["id", "<>", my_id], ["uuid", "=", False]],
order="name asc", limit=limit, context=context)
return self.read(cr, uid, found, fields, context=context)
def im_connect(self, cr, uid, uuid=None, context=None):

View File

@ -86,12 +86,15 @@
var users = new instance.web.Model("im.user");
var self = this;
return this.user_search_dm.add(users.call("search_users", [this.get("current_search"), ["name", "user_id", "uuid", "im_status"],
USERS_LIMIT], {context:new instance.web.CompoundContext()})).then(function(result) {
self.c_manager.add_to_user_cache(result);
USERS_LIMIT], {context:new instance.web.CompoundContext()})).then(function(users) {
var logged_users = _.filter(users, function(u) { return !!u.im_status; });
var non_logged_users = _.filter(users, function(u) { return !u.im_status; });
users = logged_users.concat(non_logged_users);
self.c_manager.add_to_user_cache(users);
self.$(".oe_im_input").val("");
var old_users = self.users;
self.users = [];
_.each(result, function(user) {
_.each(users, function(user) {
var widget = new instance.im.UserWidget(self, self.c_manager.get_user(user.id));
widget.appendTo(self.$(".oe_im_users"));
widget.on("activate_user", self, self.activate_user);