[FIX] Fixe dlast commit: badge message is posted on the user

as before. Also updated code in mail/res_users that could big: partner_ids given
to message_post can be a list of commands, or a list of ids.

bzr revid: tde@openerp.com-20140409155003-32ccef4udlzfg5us
This commit is contained in:
Thibault Delavallée
2014-04-09 17:50:03 +02:00
parent 9b922d9858
commit 70eb634173
2 changed files with 12 additions and 4 deletions
+1 -1
View File
@@ -62,7 +62,7 @@ class gamification_badge_user(osv.Model):
template_id = self.pool['ir.model.data'].get_object(cr, uid, 'gamification', 'email_template_badge_received', context)
for badge_user in self.browse(cr, uid, ids, context=context):
body_html = temp_obj.render_template(cr, uid, template_id.body_html, 'gamification.badge.user', badge_user.id, context=context)
res = self.message_post(cr, uid, badge_user.id, body=body_html, partner_ids=[badge_user.user_id.partner_id.id], context=context)
res = user_obj.message_post(cr, uid, badge_user.user_id.id, body=body_html, partner_ids=[badge_user.user_id.partner_id.id], context=context)
return res
def create(self, cr, uid, vals, context=None):
+11 -3
View File
@@ -118,11 +118,19 @@ class res_users(osv.Model):
various mailboxes, we do not have access to the current partner_id. """
if isinstance(thread_id, (list, tuple)):
thread_id = thread_id[0]
final_partner_ids = set()
partner_ids = kwargs.get('partner_ids', [])
partner_id = self._message_post_get_pid(cr, uid, thread_id, context=context)
if partner_id not in [command[1] for command in partner_ids]:
partner_ids.append(partner_id)
kwargs['partner_ids'] = partner_ids
for partner_id in partner_ids:
if isinstance(partner_id, (list, tuple)) and partner_id[0] == 4 and len(partner_id) == 2:
final_partner_ids.add(partner_id[1])
elif isinstance(partner_id, (list, tuple)) and partner_id[0] == 6 and len(partner_id) == 3:
final_partner_ids.add(partner_id[2])
elif isinstance(partner_id, (int, long)):
final_partner_ids.add(partner_id)
if partner_id not in final_partner_ids:
final_partner_ids.append(partner_id)
kwargs['partner_ids'] = final_partner_ids
return self.pool.get('mail.thread').message_post(cr, uid, False, **kwargs)
def message_update(self, cr, uid, ids, msg_dict, update_vals=None, context=None):