[FIX] mail: to_read value of _message_get_dict

bzr revid: chm@openerp.com-20121019131358-xn3b8yyepscsrad7
This commit is contained in:
Christophe Matthieu 2012-10-19 15:13:58 +02:00
parent 35b6725f3f
commit 491034ed0a
2 changed files with 15 additions and 8 deletions

View File

@ -77,8 +77,7 @@ class mail_message(osv.Model):
notif_obj = self.pool.get('mail.notification')
notif_ids = notif_obj.search(cr, uid, [
('partner_id', 'in', [partner_id]),
('message_id', 'in', ids),
('read', '=', True)
('message_id', 'in', ids)
], context=context)
for notif in notif_obj.browse(cr, uid, notif_ids, context=context):
res[notif.message_id.id] = not notif.read
@ -342,7 +341,6 @@ class mail_message(osv.Model):
further parents
:return list: list of trees of messages
"""
print '>>> executing message_read'
if message_loaded_ids:
domain += [('id', 'not in', message_loaded_ids)]
limit = limit or self._message_read_limit
@ -375,8 +373,9 @@ class mail_message(osv.Model):
message_list.append(self._message_get_dict(cr, uid, parent, context=context))
parent = self._get_parent(cr, uid, parent, context=context)
# get the child expandable messages for the tree
message_list = sorted(message_list, key=lambda k: k['id'])
# get the child expandable messages for the tree
message_list = self._message_read_expandable(cr, uid, message_list, read_messages,
message_loaded_ids=message_loaded_ids, domain=domain, context=context, parent_id=parent_id, limit=limit)

View File

@ -934,6 +934,8 @@ openerp.mail = function(session) {
*/
on_scroll: function(event){
if(event)event.stopPropagation();
this.$('.oe_msg_expandable:last');
var message = this.messages[this.messages.length-1];
if(message && message.datasets.type=="expandable" && message.datasets.max_limit){
var pos = message.$el.position();
@ -944,7 +946,6 @@ openerp.mail = function(session) {
message.on_expandable();
}
}
}
},
@ -1099,15 +1100,22 @@ openerp.mail = function(session) {
});
}
// insert the message on dom
self.insert_message( message );
// check if the message is already create
for(var i in self.messages){
if(self.messages[i].datasets.id == message.datasets.id){
self.messages[i].destroy();
self.messages[i] = self.insert_message(message);
return true;
if(message.datasets.id>0){
self.messages[i] = message;
return true;
} else {
delete self.messages[i];
}
}
}
self.messages.push( self.insert_message(message) );
self.messages.push( message );
},
/** Displays a message or an expandable message */