[IMP] mail: last_id (js/py)
bzr revid: chm@openerp.com-20121031090931-gloqsggi3j276jpj
This commit is contained in:
parent
6453930f28
commit
fd0b674f5c
|
@ -240,6 +240,7 @@ class mail_message(osv.Model):
|
|||
|
||||
return {
|
||||
'id': message['id'],
|
||||
'last_id': message['id'],
|
||||
'type': message['type'],
|
||||
'attachment_ids': attachment_ids,
|
||||
'body': message['body'],
|
||||
|
@ -425,6 +426,17 @@ class mail_message(osv.Model):
|
|||
|
||||
# get the child expandable messages for the tree
|
||||
message_list = sorted(message_list, key=lambda k: k['id'])
|
||||
|
||||
|
||||
for message in message_list:
|
||||
if message['parent_id']:
|
||||
for msg in message_list:
|
||||
if message['parent_id'] == msg['id']:
|
||||
if message['last_id'] < message['parent_id']:
|
||||
message['last_id'] = message['parent_id']
|
||||
break
|
||||
|
||||
|
||||
self._message_read_add_expandables(cr, uid, message_list, read_messages, thread_level=thread_level,
|
||||
message_loaded_ids=message_unload_ids, domain=domain, parent_id=parent_id, context=context, limit=limit)
|
||||
|
||||
|
|
|
@ -596,7 +596,7 @@ openerp.mail = function (session) {
|
|||
start: function () {
|
||||
this._super.apply(this, arguments);
|
||||
this.expender();
|
||||
this.$el.hide().fadeIn(750, function () {$(this).css('display', '');});
|
||||
//this.$el.hide().fadeIn(750, function () {$(this).css('display', '');});
|
||||
this.resize_img();
|
||||
this.bind_events();
|
||||
if(this.thread_level < this.options.display_indented_thread) {
|
||||
|
@ -895,6 +895,7 @@ openerp.mail = function (session) {
|
|||
|
||||
// data of this thread
|
||||
this.id = datasets.id || false,
|
||||
this.last_id = datasets.last_id || false,
|
||||
this.model = datasets.model || false,
|
||||
this.parent_id = datasets.parent_id || false,
|
||||
this.is_private = datasets.is_private || false,
|
||||
|
@ -941,7 +942,7 @@ openerp.mail = function (session) {
|
|||
*/
|
||||
on_scroll: function () {
|
||||
var expandables =
|
||||
_.each( _.filter(this.messages, function (val) {return val.id == -1 && !val.loading;}), function (val) {
|
||||
_.each( _.filter(this.messages, function (val) {return val.id == -1;}), function (val) {
|
||||
var pos = val.$el.position();
|
||||
if (pos.top) {
|
||||
/* bottom of the screen */
|
||||
|
@ -1180,12 +1181,12 @@ openerp.mail = function (session) {
|
|||
if (self.messages[i].no_sorted) {
|
||||
continue;
|
||||
}
|
||||
if (self.messages[i].id > message.id) {
|
||||
if (!message_newer || message_newer.id > self.messages[i].id) {
|
||||
if (self.messages[i].last_id > (message.last_id || message.id)) {
|
||||
if (!message_newer || message_newer.last_id > self.messages[i].last_id) {
|
||||
message_newer = self.messages[i];
|
||||
}
|
||||
} else if (self.messages[i].id > 0 && self.messages[i].id < message.id) {
|
||||
if (!message_older || message_older.id < self.messages[i].id) {
|
||||
} else if (self.messages[i].last_id > 0 && self.messages[i].last_id < (message.last_id || message.id)) {
|
||||
if (!message_older || message_older.last_id < self.messages[i].last_id) {
|
||||
message_older = self.messages[i];
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue