如何在odoo 10中更改状态时发送消息通知?

时间:2018-03-22 08:15:38

标签: python odoo odoo-10 odoo-view

在供应商账单中,当创建客户发票时,将有一个message_ids字段,该字段创建消息并将消息发送给全部列在关注者列表中的相关人员。默认情况下,这类似于创建发票并输入消息时,在此之后单击发送按钮时,将向将跟踪者收件箱发送通知消息,该消息将位于讨论模块中。

在不点击新消息并发送消息的情况下,我想向关注者发送通知,告知我在更改状态时状态已更改

3 个答案:

答案 0 :(得分:1)

在python中:

state = fields.Selection([
        ('draft', 'Draft'),
        ('open', 'Open'),
        ('paid', 'Paid'),
        ('cancel', 'Cancelled'),
    ], string='Status',track_visibility='onchange')



 @api.multi
    def _track_subtype(self, init_values):
        self.ensure_one()
        if 'state' in init_values and self.state == 'sale':
            return 'custom_invoice.mt_invoices_confirmed'
        return super(SaleOrder, self)._track_subtype(init_values)

在xml中:

 <record id="mt_order_confirmed_custom" model="mail.message.subtype">
        <field name="name"> Approval Request</field>
        <field name="res_model">sale.order</field>
        <field name="default" eval="True" />
        <field name="description">Request  Approval</field>
    </record>

答案 1 :(得分:0)

为字段状态编写onchange函数,并为关注者创建消息记录。 例如:

{{1}}

答案 2 :(得分:-1)

只需在.py文件中的状态字段声明中添加track_visibility='onchage'