如何解决Odoo - 我如何向关注者发送自定义消息
我想在创建记录时向关注者发送自定义消息 我的课:
class StockAlert(models.Model):
_name = "stock.alert"
_inherit = ['mail.thread','mail.activity.mixin']
responsable_id = fields.Many2one('res.users',store=True)
@api.multi
def write(self,vals):
result = super(StockAlert,self).write(vals)
for record in self:
followers= []
if record.responsable_id.partner_id.id not in record.message_follower_ids.ids:
followers.append(record.responsable_id.partner_id.id)
record.message_subscribe(followers)
return result
@api.model
def create(self,self).create(vals)
for record in result:
followers= []
if record.responsable_id.partner_id.id not in record.message_follower_ids.ids:
followers.append(record.responsable_id.partner_id.id)
record.message_subscribe(followers)
return result
在我的视图中调用了喋喋不休:
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="activity_ids" widget="mail_activity"/>
<field name="message_ids" widget="mail_thread"/>
</div>
请帮忙!
解决方法
我不完全确定关注者订阅这种方式是否正确,但发布消息应该很容易。订阅后立即执行:
record.message_post(body) # body should be a string
直接查看 message_post
的定义以获得更多可能的参数,例如 subject
或 partner_ids
。
partner_ids
对您来说可能很有趣,因为此参数可用于在 message_post
上自动订阅。例如在 create
中:
@api.model
def create(self,vals):
result = super().create(vals)
for record in result:
partner_ids = record.responsable_id.partner_id.ids
body = 'hello world'
record.with_context(mail_post_autofollow=1).message_post(
body,partner_ids=partner_ids)
return result
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。