在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. Selenium2+python自动化22-发送各种类型附件邮件【转载】

    前言 最近一些小伙伴,在搞邮箱的事情,小编于是去折腾了一下!总结了一些干货,与大家分享一下!速来,抱大腿,我要开车了! 基本思路就是,使用MIMEMultipart来标示这个邮件是多个部分组成的,然后 ...

  2. 安装配置GitLab

    在 CentOS 6 安装 使用国内镜像安装,新建 /etc/yum.repos.d/gitlab-ce.repo,添加以下内容 [gitlab-ce] name=gitlab-ce baseurl= ...

  3. (十二)MySQL逻辑备份mysqldump

    (1)简介 语法 mysqldump -h服务器 -u用户名 -p密码 [-P端口号] [参数] 数据库名 >备份文件.sql 关于数据库: -A,--all-databases 所有库,会生成 ...

  4. Centos7源码编译安装tengine1.5.1

    安装依赖包 yum install pcre pcre-devel openssl openssl-devel gcc make zlib-devel wget -y 下载和创建用户 mkdir /t ...

  5. 洛谷 P3371 【模板】单源最短路径 【链式前向星+SPFA】

    题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入输出格式 输入格式: 第一行包含三个整数N.M.S,分别表示点的个数.有向边的个数.出发点的编号. 接下来M行每行包含三 ...

  6. Linux命令之vim(二)

    这一章主要介绍vim编辑器的内部使用方法和注意事项 vim编辑器有四种工作模式:正常模式.插入模式.命令模式.可视模式.简单的判断方法就是看底部,什么都没有就是正常模式,光标在编辑器最底下时则是命令模 ...

  7. 【Android】通过经纬度查询城市信息

    public class GetCity { public static String STATIC_URL = "http://api.map.baidu.com/geocoder/v2/ ...

  8. ubuntu 下终端关于调试C++的命令

    先确定安装了vim 和gcc (c语言)或者g++(c++) 如果没有安装可以在终端输入以下命令: sudo apt-get install build-essential sudo apt-get ...

  9. httpd2.4出现AH00025: configuration error

    log文件 安装的是包含ssl的版本,需要加载 LoadModule authz_core_module modules/mod_authz_core.so

  10. less 命令详解!

    less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性.在 more 的时候,我们并没有办法向前面翻 ...