From f9829bbb93d6fee682cb78df93b00548a4de2b2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Wed, 7 Nov 2012 11:51:48 +0100 Subject: [PATCH] [FIX] mail_thread: in message_parse, correctly set partner_ids of the message dict. By the way small things in amil module. bzr revid: tde@openerp.com-20121107105148-6o1dvu7f4ms24rbx --- addons/mail/mail_message.py | 2 +- addons/mail/mail_thread.py | 2 +- addons/mail/res_partner.py | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 3637bb371dc..4f1c0a00e77 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -730,7 +730,7 @@ class mail_message(osv.Model): ], context=context) fol_objs = fol_obj.read(cr, uid, fol_ids, ['partner_id'], context=context) partners_to_notify |= set(fol['partner_id'][0] for fol in fol_objs) - # when writing to a wall + # remove me from notified partners, unless the message is written on my own wall if message.get('author_id') and message.get('model') == "res.partner" and message.get('res_id') == message.get('author_id')[0]: partners_to_notify |= set([message.get('author_id')[0]]) elif message.get('author_id'): diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index a7ebefdce25..4790fb3393f 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -588,7 +588,7 @@ class mail_thread(osv.AbstractModel): else: msg_dict['email_from'] = message.get('from') partner_ids = self._message_find_partners(cr, uid, message, ['From', 'To', 'Cc'], context=context) - msg_dict['partner_ids'] = partner_ids + msg_dict['partner_ids'] = [(4, partner_id) for partner_id in partner_ids] if 'Date' in message: date_hdr = decode(message.get('Date')) diff --git a/addons/mail/res_partner.py b/addons/mail/res_partner.py index 46b250328f8..6f291f62f1b 100644 --- a/addons/mail/res_partner.py +++ b/addons/mail/res_partner.py @@ -54,7 +54,8 @@ class res_partner_mail(osv.Model): thread_id = thread_id[0] if type == 'email': partner_ids = kwargs.get('partner_ids', []) - partner_ids.append(thread_id) + if thread_id not in partner_ids: + partner_ids.append(thread_id) kwargs['partner_ids'] = partner_ids return super(res_partner_mail, self).message_post(cr, uid, False, body=body, subject=subject, type=type, subtype=subtype, parent_id=parent_id, attachments=attachments, context=context, **kwargs)