[IMP] display messages according to select subtype
bzr revid: fka@tinyerp.com-20121212090147-hwu4jc8pfp5xa49g
This commit is contained in:
+22
-20
@@ -505,26 +505,28 @@ class mail_message(osv.Model):
|
||||
|
||||
# fetch parent if threaded, sort messages
|
||||
for message in self.browse(cr, uid, ids, context=context):
|
||||
message_id = message.id
|
||||
if message_id in message_tree:
|
||||
continue
|
||||
message_tree[message_id] = message
|
||||
|
||||
# find parent_id
|
||||
if thread_level == 0:
|
||||
tree_parent_id = parent_id
|
||||
else:
|
||||
tree_parent_id = message_id
|
||||
parent = message
|
||||
while parent.parent_id and parent.parent_id.id != parent_id:
|
||||
parent = parent.parent_id
|
||||
tree_parent_id = parent.id
|
||||
if not parent.id in message_tree:
|
||||
message_tree[parent.id] = parent
|
||||
# newest messages first
|
||||
parent_tree.setdefault(tree_parent_id, [])
|
||||
if tree_parent_id != message_id:
|
||||
parent_tree[tree_parent_id].append(self._message_read_dict(cr, uid, message_tree[message_id], parent_id=tree_parent_id, context=context))
|
||||
notified_partner_id = [user.id for user in message.notified_partner_ids]
|
||||
if not parent_id or notified_partner_id:
|
||||
message_id = message.id
|
||||
if message_id in message_tree:
|
||||
continue
|
||||
message_tree[message_id] = message
|
||||
|
||||
# find parent_id
|
||||
if thread_level == 0:
|
||||
tree_parent_id = parent_id
|
||||
else:
|
||||
tree_parent_id = message_id
|
||||
parent = message
|
||||
while parent.parent_id and parent.parent_id.id != parent_id:
|
||||
parent = parent.parent_id
|
||||
tree_parent_id = parent.id
|
||||
if not parent.id in message_tree:
|
||||
message_tree[parent.id] = parent
|
||||
# newest messages first
|
||||
parent_tree.setdefault(tree_parent_id, [])
|
||||
if tree_parent_id != message_id:
|
||||
parent_tree[tree_parent_id].append(self._message_read_dict(cr, uid, message_tree[message_id], parent_id=tree_parent_id, context=context))
|
||||
|
||||
if thread_level:
|
||||
for key, message_id_list in parent_tree.iteritems():
|
||||
|
||||
@@ -555,6 +555,8 @@ class test_mail(test_mail_mockup.TestMailMockups):
|
||||
msg_id8 = self.group_pigs.message_post(body='2-1-1', subtype='mt_comment', parent_id=msg_id4)
|
||||
msg_id9 = self.group_pigs.message_post(body='1-1-1', subtype='mt_comment', parent_id=msg_id3)
|
||||
msg_id10 = self.group_pigs.message_post(body='2-1-1', subtype='mt_comment', parent_id=msg_id4)
|
||||
child_msg_id = [msg_id3, msg_id4,msg_id5,msg_id6,msg_id7,msg_id8,msg_id9,msg_id10]
|
||||
self.mail_message.write(cr, uid, child_msg_id, {'notified_partner_ids': [(6, 0, [user_admin.id])]})
|
||||
msg_ids = [msg_id10, msg_id9, msg_id8, msg_id7, msg_id6, msg_id5, msg_id4, msg_id3, msg_id2, msg_id1, msg_id0]
|
||||
ordered_msg_ids = [msg_id2, msg_id4, msg_id6, msg_id8, msg_id10, msg_id1, msg_id3, msg_id5, msg_id7, msg_id9, msg_id0]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user