odoo有着强大的消息记录、通知机制;
假如有的用户修改了内容, 就会记录并发布消息。
首先,先保证整体基本的消息记录功能,两个地方需要修改,模型和form视图
在odoo中集成消息通知, 只需要在对应的模型下添加:_inherit = ['mail.thread', 'mail.activity.mixin']
class AccountMove(models.Model):
_name = "account.move"
_inherit = ['portal.mixin', 'mail.thread', 'mail.activity.mixin', 'sequence.mixin']
_description = "Journal Entry"
_order = 'date desc, name desc, id desc'
_mail_post_access = 'read'
_check_company_auto = True
_sequence_index = "journal_id"
在相应的form视图内部下方,增加如下红色代码:
<form>
....
省略一串代码
....
<div class="oe_chatter">
<field name="message_follower_ids"
widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
然后在想要追踪的字段的模型定义中增加如下属性:
inout = fields.Selection(string="InOut", selection=[('I', u'进口'), ('E', u'出口'), ], track_visibility='always',) contract_no = fields.Char(string="Contract No", track_visibility='onchange',)
上面的两种写法:track_visibility='always' 和 track_visibility='onchange'
以销售中销售订单为例!!!