[FIX] message_post: now handles partner_ids parameter with extra-caution, creating a set of sets. If partner_ids is a list of ids, or a list of commands under list form, this should work as well.

bzr revid: tde@openerp.com-20130108130716-hea1fomxog5an61r
This commit is contained in:
Thibault Delavallée 2013-01-08 14:07:16 +01:00
parent ff5b5d6cb1
commit f91fc3b74f
1 changed files with 9 additions and 1 deletions

View File

@ -948,7 +948,15 @@ class mail_thread(osv.AbstractModel):
partner_ids.add((4, parent_message.author_id.id))
# 1.A.3: add specified recipients
partner_ids |= set(kwargs.pop('partner_ids', []))
param_partner_ids = set()
for item in kwargs.pop('partner_ids', []):
if isinstance(item, (list)):
param_partner_ids.add((item[0], item[1]))
elif isinstance(item, (int, long)):
param_partner_ids.add((4, item))
else:
param_partner_ids.add(item)
partner_ids |= param_partner_ids
# 1.B: handle body, message_type and message_subtype
if content_subtype == 'plaintext':