Odoo中文网|Odoo实施培训

 找回密码
 立即注册
搜索
热搜: Odoo OpenERP 实施
查看: 6777|回复: 0
打印 上一主题 下一主题

odoo8模块中增加延时自动消失的提示

[复制链接]

119

主题

119

帖子

566

积分

高级会员

Rank: 4

积分
566
跳转到指定楼层
楼主
发表于 2015-10-31 22:00:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在odoo中,如果必要栏位没有值,在保存时右上角会有提示,该提示会延时并自动关闭.

有网友问如何在自己的模块中增加这样的提示,以方便用户在操作时,能提示一些必要的信息。下面例出大致的步骤以供参考:

1.一般来说我们是在py中执行到一些业务逻辑的时候需要提示,所以先看在py脚本中怎么来写,格式如下:

  1. def get_express_list(self, cr, uid, ids, context=None):  
  2.         obj = self.browse(cr,uid,ids,context=context)  
  3.         return {  
  4.             'type': 'ir.actions.client',  
  5.             'tag': 'get_sf_express_list',  
  6.             'target': 'new',  
  7.             'params':{'num_express':obj.num_express},  
  8.         }  
复制代码

我这个是用户点一个按钮,执行前端的一个js动作。这里的tag很重要,跟后面的js代码定义要一致。


2.然后在模块的src/js/中建一个js文件,脚本大致内容如下:

  1. openerp.rhwl = function(instance) {  
  2.     var _t = instance.web._t,  
  3.         _lt = instance.web._lt;  
  4.     var QWeb = instance.web.qweb;  
  5.   
  6.     instance.rhwl.getexpresslist = instance.web.Widget.extend({  
  7.         init: function(parent,action){  
  8.             this._super(parent, action);  
  9.             this.action = action;  
  10.         },  
  11.         start: function () {  
  12.             var self = this;  
  13.             self.do_warn(_t("Get"), _t("获取成功"));  
  14.         }  
  15.     });  
  16.   
  17.     instance.web.client_actions.add("get_sf_express_list", "instance.rhwl.getexpresslist");  
  18. }  
复制代码
前面openerp.rhwl中的rhwl是你的模块名称,这是odoo通用格式,红色的内容与py脚本中tag属性值要一致,然后在start方法调用do_warn或do_notify两个函数都可以。
这个js大致的功能是这样子,在你的模块中给instance对象定义一个新的继承自instance.web.Widget对象的新对象instance.rhwl.getexpresslist,并且将该对象注册到前端活动中,前后端通过get_sf_express_list字串来进行沟通调用。


3.把js文件加载到模块__openerp__中,升级模块,你就可以看到效果了,我这里提示的信息是固定的,其实可以把标题和内容通过参数方式传过来。py调用时"params"可以设定传入的参数名和值(就是dict的key和value),在js中通过this.action.params来获取。







回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 13:21 , Processed in 0.011888 second(s), 10 queries , Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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