【发布时间】:2018-07-23 17:41:56
【问题描述】:
我正在使用 Odoo 11 并希望在创建某个记录时通知用户,不是通过电子邮件,而是在 Odoo 内部,这样就有这样的事情: 我认为使用 Odoo 标准功能应该相当简单,但我不知道该怎么做。
我尝试的是一个自动操作,它添加了应该作为关注者通知的用户(要执行的操作:添加关注者,触发条件:创建时)。
我进一步从mail.thread 继承我的模型,跟踪几个字段,并为它们定义一个子类型。这确实可以通知有关字段的更改,但是在创建记录时没有消息。为什么是这样?也许创造不算改变?或者可能是因为他必须在创建记录之前关注,所以自动操作执行得太晚了?
我看到的另一种方法是覆盖 create(...) 方法并从那里发送一些消息。但是如何做到这一点?感觉好像有一些我看不到的明显的东西。我的意思是有一个说明,无论如何,该记录是在喋喋不休中创建的。我想做的就是把它作为消息放在用户收件箱中。
示例代码:
class MyModel(models.Model):
_name = 'my_module.my_model'
_inherit = ['mail.thread', 'mail.activity.mixin']
name = fields.Char(string='Name', track_visibility=True)
def _track_subtype(self, init_values):
if 'name' in init_values:
return 'mail.mt_comment'
return super(Alert, self)._track_subtype(init_values)
【问题讨论】: