odoo13之右上角弹出提示框
前言
在odoo中已经提供好了右上角弹出提示框的接口,我们只需要调用即可;
而提示框的实现又分为前端js实现和后段函数实现,前后端实现的效果相同。
实现效果图

前端实现提示框
在前端中显示提示框最常用的两种方法是使用ServiceMixin的两种方法:do_notify 和 do_warning 。它们的显示效果都一样。它们的语法如下:
do_notify(title,message,sticky,className);
do_warn(title,message,sticky,className);
参数说明:
- title:字符串类型,用于显示提示框标题;
- message:字符串类型,用于显示提示框内容;
- sticky:布尔类型,如果为true则提示框会一直显示在右上角直到用户叉掉,如果为false则过几秒后就会自动消失;
- className:字符串类型,用来给提示框添加样式。经过测试(warning,danger,info,success),在do_notify中,可用的有bg-warning和bg-danger,默认为warning;在do_warning中,可用的是bg-danger,默认为danger;
使用示例:
self.do_notify('请求成功!', '数据已更新!');
self.do_notify('请求成功!', '数据已更新!', false, 'bg-warning');
self.do_warn("请求失败", "更新数据失败!", true, "bg-danger");
后端实现提示框
后端实现变化较多,但实际上其实大同小异。同时,后端的参数也和前端保持一致。
使用示例如下:
from odoo.tools.translate import _ # 方法一
notification = {
'type': 'ir.actions.client',
'tag': 'display_notification',
'params': {
'title': ('请求成功'),
'message': '下线用户成功',
'sticky': False,
'type': 'success'
},
}
return notification # 方法二
return {
'type': 'ir.actions.client',
'tag': 'display_notification',
'params': {
'title': '未成功下线',
'message': '未成功下线,可能该会话已过期',
'sticky': False,
'className': 'bg-warning'
}
} # 方法三
return {
'type': 'ir.actions.client',
'tag': 'display_notification',
'params': {
'title': _('下线失败'),
'message': _('发生未知错误,可能未响应或其他'),
'sticky': True,
'className': 'bg-danger'
}
}
和前端不同的是,后端可用type类型,和className作用相同;并且后端可用的样式多一点,className可用bg-warning,bg-danger;type可用warning,danger,info,success;以下是各个样式的示例图:
bg-warning

bg-danger

info

success

后端return提示无反应
注意:在后端使用提示框时,如果点击按钮触发的是第一个函数,而你是在第二个函数里面return提示框,那么不会显示任何效果!如下所示,该代码将无响应。

正确的处理方式应该是将返回提示的代码放在第一个触发函数里面,如果你过程中要调用其他的函数,可以让其他函数返回一个结果,然后根据结果来触发不同的提示框,示例如下。

参考链接:
Odoo 13. Notificatoin (do_notify) with python code
odoo13之右上角弹出提示框的更多相关文章
- android标题栏上面弹出提示框(二) PopupWindow实现,带动画效果
需求:上次用TextView写了一个从标题栏下面弹出的提示框.android标题栏下面弹出提示框(一) TextView实现,带动画效果, 总在找事情做的产品经理又提出了奇葩的需求.之前在通知栏显示 ...
- android标题栏下面弹出提示框(一) TextView实现,带动画效果
产品经理用的是ios手机,于是android就走上了模仿的道路.做这个东西也走了一些弯路,写一篇博客放在这里,以后自己也可用参考,也方便别人学习. 弯路: 1.刚开始本来用PopupWindow去实现 ...
- PHP弹出提示框并跳转到新页面即重定向到新页面
本文为大家介绍下使用PHP弹出提示框并跳转到新页面,也就是大家所认为的重定向,下面的示例大家可以参考下 这两天写一个demo,需要用到提示并跳转,主要页面要求不高,觉得没必要使用AJAX,JS等, ...
- [转] 在Asp.net前台和后台弹出提示框
一.在前台弹出提示框 1.点击"A"标记或者"控件按钮"弹出提示框 <asp:LinkButton ID="lbtnDel" runa ...
- SilverLight 页面后台方法XX.xaml.cs 创建JS,调用JS ,弹出提示框
1.Invoke和InvokeSelf [c-sharp] view plaincopy public partial class CreateJSDemo : UserControl { publi ...
- 基于Jquery 简单实用的弹出提示框
基于Jquery 简单实用的弹出提示框 引言: 原生的 alert 样子看起来很粗暴,网上也有一大堆相关的插件,但是基本上都是大而全,仅仅几句话可以实现的东西,可能要引入好几十k的文件,所以话了点时间 ...
- iOS bug 之 H5 页面没有弹出提示框
描述:在安卓上有提示框,但是在iOS上没有提示框. step 1: 失误,是我没有在正确的位置设置网址. step 2: 修改之后,测试页能弹出提示框,但是正式的页面没有提示框. step 3: 我输 ...
- C#自动关闭弹出提示框
自动关闭弹出提示框(用一个小窗体显示提示信息):例如在一个form窗体中弹出自动关闭的提示框1.首先创建一个弹出提示信息的窗体 AutoCloseMassageBox,在里面拖一个lable控件,去掉 ...
- 关于winform窗体关闭时弹出提示框,选择否时窗体也关闭的问题
在窗体中有FormClosing这个事件,这个事件是在窗体关闭时候运行的.如果要取消某个事件的操作,那么就在该事件中写上e.Cancel=true就能取消该事件,也就是不执行该事件.所以,你要在窗体关 ...
随机推荐
- 使用Azure静态Web应用部署Blazor Webassembly应用
上一次演示了如何使用Azure静态web应用部署VUE前端项目(使用 Azure静态web应用+Github全自动部署VUE站点).我们知道静态web应用支持VUE,react,angular等项目的 ...
- 云计算管理平台之OpenStack块存储服务cinder
一.cinder简介 cinder是openstack环境中的块存储服务,主要为运行在openstack之上的虚拟机提供块存储服务的:所谓块存储就是我们经常用的硬盘呀,U盘啊,SD卡等等这些块设备的, ...
- Linux 系统编程 学习:11-线程:线程同步
Linux 系统编程 学习:11-线程:线程同步 背景 上一讲 我们介绍了线程的属性 有关设置.这一讲我们来看线程之间是如何同步的. 额外安装有关的man手册: sudo apt-get instal ...
- P1948 [USACO08JAN]Telephone Lines S
题意描述 在无向图中求一条从 \(1\) 到 \(N\) 的路径,使得路径上第 \(K+1\) 大的边权最小. 等等,最大的最小...如此熟悉的字眼,难道是 二分答案. 下面进入正题. 算法分析 没错 ...
- 一个.NET Core下的开源插件框架
插件模式历史悠久,各种中大型软件基本上都会实现插件机制,以此支持功能扩展,从开发部署层面,插件机制也可实现功能解耦,对于并行开发.项目部署.功能定制等都有比较大的优势. 在.NET Core下,一般我 ...
- linux查找大文件及详细问题
查询大文件du -h --max-depth=1 查询指定目录下面的文件大小du -h --max-depth=1 /path 使用find命令查找大于200M文件 find / -type f -s ...
- .NetCore操作MongDB简要代码实现
.NetCore操作MongoDB简要代码实现 在接触过的大多数使用mongodb的情景中,基本上都是用mongodb来存储日志的. mongodb是作为一种文档型的数据库,在管理日志文档上确实比较适 ...
- Unknown CMake command
Unknown CMake command "add_clang_library".等 在官网上照着打 发现上面错误 结果是版本问题 选好版本和选项catkin还是rosbuild
- CSS渐变中是如何定义渐变线的
在CSS语法中用户代理对渐变gradient语法的解析渲染离不开渐变线.渐变分为线性渐变(linear gradient)和径向渐变(radial gradient). 渐变在元素盒模型中backgr ...
- ubutun 服务器中文设置
在连接到服务器时,我们看不到图形界面,按照常规的安装搜狗输入法行不通,查阅相关的资料找到一篇可以解决的 sudo apt-get update 如果出现 E: 无法下载 404 Not Found I ...