在odoo中,如果必要栏位没有值,在保存时右上角会有如下图的提示,该提示会延时并自动关闭。

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

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

def get_express_list(self, cr, uid, ids, context=None):
obj = self.browse(cr,uid,ids,context=context)
return {
'type': 'ir.actions.client',
'tag': 'get_sf_express_list',
'target': 'new',
'params':{'num_express':obj.num_express},
}

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

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

openerp.rhwl = function(instance) {
var _t = instance.web._t,
_lt = instance.web._lt;
var QWeb = instance.web.qweb; instance.rhwl.getexpresslist = instance.web.Widget.extend({
init: function(parent,action){
this._super(parent, action);
this.action = action;
},
start: function () {
var self = this;
self.do_warn(_t("Get"), _t("获取成功"));
}
}); instance.web.client_actions.add("get_sf_express_list", "instance.rhwl.getexpresslist");
}

前面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来获取。

Odoo8模块中增加延时自动消失的提示的更多相关文章

  1. 05传智_jbpm与OA项目_部门模块中增加部门的jsp页面增加一个在线编辑器功能

    这篇文章讲的是在线编辑器功能,之前的部门模块中,增加部门的功能jsp页面起先是这么做的.

  2. 在附件管理模块中增加对FTP 上传和预览的支持

    在之前介绍的附件管理模块里面<Winform开发框架之通用附件管理模块>以及<Winform开发框架之附件管理应用>,介绍了附件的管理功能,通过对数据库记录的处理和文件的管理, ...

  3. 在VS2015中增加JQuery引用及智能提示

      打开VS2015,从"工具"菜单选择NuGet选项,搜索Jquery,并点击安装.   可以看到解决方案的scripts增加了对应文件的引用   在HTML文件中可以直接引用j ...

  4. Android开发之《实现类似Toast可以自动消失的提示栏Tip》

    import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.cont ...

  5. Nginx基础知识之————RTMP模块中的中HLS专题(翻译文档)

    一.在Nginx配置文件的RTMP模块中配置hls hls_key_path /tmp/hlskeys; 提示错误信息: nginx: [emerg] the same path name " ...

  6. NFinal中增加生成页面自动带入js和css

    增加在WebCompiler.aspx页面中的application.CreateCompile(true);方法里. //写aspx页面的自动提示层 #region 插入js&css com ...

  7. VBA中四种自动运行的宏以及模块的含义

    在Excel的“标准模块”中可以创建4种自动运行的宏,它们分别是Auto_Open(打开工作 簿时自动运行), Auto_Close, Auto_Activate,  Auto_Deactivate. ...

  8. smarty中增加类似foreach的功能自动加载数据方法

    第一步:在Smarty_Compiler.class.php的_compile_tag函数中增加: 复制代码 代码如下: //加载数据的开始标签case 'load': $this->_push ...

  9. ECSHOP如何解决购物车中商品自动消失问题

    最近有客户反映关于ECShop购物车的问题:需要加入多个商品到购物车时,发现之前加入到购物车的商品都自动消失了,只有最后一次加入购物车的商品在里面.那么,这是什么原因呢? 因为ECShop的SESSI ...

随机推荐

  1. k8s的chart学习(上)

    chart 是 Helm 的应用打包格式.chart 由一系列文件组成,这些文件描述了 Kubernetes 部署应用时所需要的资源,比如 Service.Deployment.PersistentV ...

  2. sqlalchemy源代码阅读随笔(4):url。py 阅读

    在_to_string中,有 _rfc_1738_quote(text): 这个函数.这个主要是遵循 RFC 1738的规则.对传入的信息(主要是用户名或者密码)进行格式匹配.其代码就一行: retu ...

  3. [BZOJ1853][Scoi2010]幸运数字 容斥+搜索剪枝

    1853: [Scoi2010]幸运数字 Time Limit: 2 Sec  Memory Limit: 64 MBSubmit: 3202  Solved: 1198[Submit][Status ...

  4. 内部网络出口防火墙导致TCP类扫描异常

    测试过程中确认,由于内部网络出口防火墙存在连接数等策略限制,会导致TCP类扫描出现异常,表现为大量误报. Nessus.nmap.synscan均存在此现象.

  5. (三)mysql数据库基本操作

    (1)SQL语句:结构化查询语句 DDL语句 数据定义语言:数据库丶表丶视图丶索引丶存储过程丶函数丶create drop alter DML语句 数据库操作语言:插入数据insert,删除数据del ...

  6. 如何修改wamp目录【成功】

    Wampserver安装好后,“www目录”默认为X:/wamp/www,(这里的X是盘符)也就是wampserver安装目录下的www文件夹.实际使用中,默认设置往往不是我们想要的,可能改成其他文件 ...

  7. flutter 修改anroid默认example包名

  8. android 仿真器联网

    1.查看仿真器dns C:\Users\meng\AppData\Local\Android\Sdk\platform-tools>adb shell 再输入 getprop 2.查看仿真器的名 ...

  9. 模板—字符串—KMP(单模式串,单文本串)

    模板—字符串—KMP(单模式串,单文本串) Code: #include <cstdio> #include <cstring> #include <algorithm& ...

  10. 见微知著(三):解析ctf中的pwn--Fastbin和bins的溢出

    1月1号写博客,也是不容易呀!大家新年快乐呀! 先从Fastbin看起,是2015年RCTF的一道pwn题,shaxian.先看看代码的大致流程,随便输入一下: 这个题目关键之处在于堆溢出,对于堆种类 ...