odoo message_post
-
想要实现的效果:
只给指定的用户发送消息,在消息墙显示,并且能显示在Inbox中。尝试:
1、odoo中message_post()
方法发送消息时,能显示在Inbox中,但是是发送给所有关注者,即使添加接受消息的用户,日志会提示,2017-09-23 19:24:12,084 6988 WARNING 0731 odoo.models: mail.message.create() inc ludes unknown fields: receiver
。代码如下:def _send_assign_msg(self): context = self._context or {} receiver = context.get('receiver', False) base_url = self.sudo().env['ir.config_parameter'].get_param('web.base.url') action = self.env.ref('sps_product.product_template_action_all') ctx = {} ctx.update(receiver=receiver, base_url=base_url, action=action) msg = Template(part_assign_msg).render(object=self, ctx=ctx) subject = Template(part_assign_sub).render(object=self, ctx=ctx) self.message_post(receiver=receiver, body=msg, subject=subject, message_type='comment', subtype='mt_comment', content_subtype='html')
2、
send_email()
方法可以指定接收人,但是发送的消息只在消息强展示,不会在Inbox中展示,发送内部email代码简写如下():template.with_context(receiver=receiver, old_status=self.state, status=state, base_url=base_url, action=action, today=fields.Date.today()).send_mail(self.id, force_send=True)
问题产生:
不知道如何解决,源码中有个mail_post_autofollow
这个字段,放在context中的,应该是接受消息的用户,我在context中重写了这个字段,还是不能实现我想要的效果?求助。。。Thanks in advance.
-
@1234567 在 odoo message_post 中说:
你这种高亮的代码是怎么发送的,学习下一只都不会。