Odoo中文网|Odoo实施培训

 找回密码
 立即注册
搜索
热搜: Odoo OpenERP 实施
查看: 8638|回复: 5

Odoo|Openerp消息推送

  [复制链接]

3

主题

8

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2015-9-2 20:17:34 | 显示全部楼层 |阅读模式
本帖最后由 就是不注册 于 2015-9-2 20:18 编辑

在一个文档的state变化时,需要将变化情况告知关注用户,通过研究account.invoice的代码,发现是经过如下过程实现此功能的:
1、添加一个消息阶段:
  1. <record id="mt_invoice_paid" model="mail.message.subtype">            <field name="name">paid</field>            <field name="res_model">account.invoice</field>        </record>
复制代码
2、定义state变更时的触发函数:
  1. def confirm_paid(self, cr, uid, ids, context=None):        if context is None:            context = {}        self.write(cr, uid, ids, {'state':'paid'}, context=context)        self.confirm_paid_send_note(cr, uid, ids, context=context)        return True
复制代码

3、send_note函数,注意subtype的定义,与第一步的定义相关联。
  1. def confirm_paid_send_note(self, cr, uid, ids, context=None):         for obj in self.browse(cr, uid, ids, context=context):            self.message_post(cr, uid, [obj.id], body=_("%s <b>paid</b>.") % (self._get_document_type(obj.type)),                subtype="account.mt_invoice_paid", context=context)
复制代码


这样在state变化的时候,消息会通知给关注此文档的用户,同时不同的用户可以设置关注不同的消息变更。


回复

使用道具 举报

5

主题

10

帖子

35

积分

新手上路

Rank: 1

积分
35
发表于 2015-12-20 11:18:10 | 显示全部楼层
讲的太简单了,还是没看明白。
回复 支持 反对

使用道具 举报

0

主题

85

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
发表于 2018-7-27 18:37:09 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

85

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
发表于 2018-7-31 00:50:34 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

85

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
发表于 2018-8-28 13:20:48 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

85

帖子

252

积分

中级会员

Rank: 3Rank: 3

积分
252
发表于 2018-10-7 02:42:33 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|技术支持|开发手册|Odoo中文网-远鼎旗下odoo培训网站 ( 苏ICP备15039516号 )

GMT+8, 2024-3-29 00:34 , Processed in 0.014733 second(s), 12 queries , Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表