odoo 订餐系统之消息提醒
打算入手odoo开发新的系统,先研究下开发的过程是如何的。案例模仿自带的订餐系统,此系统模块不多,但很典型,可以达到联系的目的。先记录下订餐系统消息提醒的开发过程。
1.添加自己的addons目录myaddons,方便以后的管理。并在文件openerp-server.conf中加入该路径,注意用逗号分隔

2.建立应用系统文件夹mylunch,并添加文件__init__.py和 __openerp__.py。并在__openerp__.py文件中填写应用模块的基本信息.

3.虽然还没开始任何业务代码的开发,但此时我们可以依赖框架安装自己的应用了,用管理员登录系统,去开启技术特性,更新应用程序,搜索我们的程序名mylunch,点击安装即可。


安装之后的数据库信息查询结果

4.添加我们的model类。在mylunch文件夹下添加mylunch.py文件,增加mylunch.alert类。

然后继续升级我们的应用程序。

升级后的model类信息和表字段信息


5.在mylunch目录下添加view视图文件mylunch_view.xml文件,设置mylunch的菜单,使用默认的tree和form布局

升级mylunch程序后的运行效果


6.我们使用了默认的tree和form效果,界面不是很美,我们自己定义自己的视图布局。

form布局控制

程序升级后的效果图,tree视图没大的变化,主要看form布局,尤其是可以根据字段的取值不同或显示或隐藏其他字段。



经过设计之后的form布局比之前更优雅好看了。不过我们的搜索栏还是默认的效果,如下图:

添加serach视图:

升级后的效果:

7.基本可以实现了alert消息的显示效果,不过由于我们使用的是管理员权限查看的效果,如果普通用户登录之后是看不到MyLunch菜单的,这里就涉及到了权限的问题,在之前的安装升级的过程中,可以看到如下的权限警告信息:

8.设置应用程序的权限,在mylunch文件夹下建立security目录,然后添加mylunch_security.xml文件,内容如下:

这里添加了两个组,一个是MyLunch User组,另一个是Mylunch Manager组,前者没有添加默认的用户,后者则添加了默认的用户
在security目录下新建ir.model.access.csv文件,给alert类分配CRUD权限到对应的组中:

这里需要注意的是model_id?id对应的值规则: "model_"+A,其中A为model类名,用"_"替代".",如本例子是mylunch.alert类名,则结果取值是model_mylunch_alert.
将新添加的两个文件路径配置到__openerp__.py的data字段中去:

升级应用之前ir_model_access表 中的数据条数如下:

升级应用程序,ir+model_access表中的数据变化:

以普通用户登录网站,仍旧是看不到MyLunch菜单的:

将普通用户添加到MyLunch Manager组之后的效果:


这样我们基本将odoo开发的流程走了一遍,万事开头难,总算完成了我们的第一个应用的模块,接下来就是熟悉开发的过程和具体的知识点。
odoo 订餐系统之消息提醒的更多相关文章
- odoo订餐系统之订单设计
订餐系统的主要功能便是用户下单部分,这里我们分为表头mylunch_order和表体mylunch_order_line两张主要的数据表,表头主要记录订单的一些通用信息,比如下单的操作人员 下单日期 ...
- odoo订餐系统之菜单设计
1.model类的设计 class MyLunchProduction(osv.Model): _name = "mylunch.production" _description ...
- odoo订餐系统之类型设计
这次开发的模块是订餐的类型设计,比如大荤 小荤 蔬菜 米饭 等基本数据.1.设计model类,很简单就一个字段: class MyLunchProductionCategory(osv.Model): ...
- odoo订餐系统之订单相关知识点理解
1.对重载函数name_get的理解 第一,此函数位于Model基类中,返回值是一个list列表,列表中的每个值是如(key,value)形式的键值对,此处为(id,name). 第二,在自己的Mod ...
- Python flask构建微信小程序订餐系统
第1章 <Python Flask构建微信小程序订餐系统>课程简介 本章内容会带领大家通览整体架构,功能模块,及学习建议.让大家在一个清晰的开发思路下,进行后续的学习.同时领着大家登陆ht ...
- PHP实现RTX发送消息提醒
RTX是腾讯公司推出的企业级即时通信平台,大多数公司都在使用它,但是我们很多时候需要将自己系统或者产品的一些通知实时推送给RTX,这就需要用到RTX的服务端SDK,建议先去看看RTX的SDK开发文档( ...
- 终于等到你---订餐系统之负载均衡(nginx+memcached+ftp上传图片+iis)
又见毕业 对面工商大学的毕业生叕在拍毕业照了,一个个脸上都挂满了笑容,也许是满意自己四年的修行,也许是期待步入繁华的社会... 恰逢其时的连绵细雨与满天柳絮,似乎也是在映衬他们心中那些离别的忧伤,与对 ...
- RTX发送消息提醒实现以及注意事项
一.RTX简介 RTX是腾讯公司推出的企业级即时通信平台.该平台定位于降低企业通信费用,增强企业内部沟通能力,改善企业与客户之间的沟通渠道,创造新兴的企业沟通文化,提高企业生产力.RTX平台的主要功能 ...
- jquery 消息提醒插件 toastmessage
最近做系统,想到使用后台要使用消息提醒,但是一直苦恼消息提醒的效果,于是找了一个toastmessage,还不错.记录下使用的方法. 第一步:引入需要的文件 <script type=" ...
随机推荐
- Linux 操作系统下的环境变量设置
Linux下的环境变量设置 by:授客 QQ:1033553122 1. 问题描述 linux输入命令时经常会出现提示:xxx:Command not found 2. 原因分析 Command ...
- 《Inside C#》笔记(十一) 运算符重载
运算符重载与之前的索引器类似,目的是为了让语言本身使用起来更方便直接,也是一种语法糖. 一 运算符重载(Operator Overloading) 运算符重载的存在,使得现有的各种运算符可以被重新定义 ...
- Flutter 不一样的跨平台解决方案
本文主要介绍Flutter相关的东西,包括Fuchsia.Dart.Flutter特性.安装以及整体架构等内容. 1. 简介 Flutter作为谷歌最近推出的跨平台开发框架,一经推出便吸引了不少注意. ...
- scrapy简单分布式爬虫
经过一段时间的折腾,终于整明白scrapy分布式是怎么个搞法了,特记录一点心得. 虽然scrapy能做的事情很多,但是要做到大规模的分布式应用则捉襟见肘.有能人改变了scrapy的队列调度,将起始的网 ...
- webApi core2 DI通过代码来获取容器里面已注入的对象
请求服务 来自 HttpContext 的一次 ASP.NET 请求中可用的服务通过 RequestServices 集合公开的. 请求服务将你配置的服务和请求描述为应用程序的一部分.当你的对象指定依 ...
- [Mac] How do I move a window whose title bar is off-screen?
有时窗口一不小心拖出视野外了,此时无法移动窗口.如何还原? 有人遇到相似问题,已有解决方法: 方法就是,菜单 Windows - Zoom 这时窗口会还原.
- Django应用:学习日志网站
目录 一.创建虚拟环境(Windows) 二.创建项目 三.创建应用程序 四.创建网页:学习笔记主页 五.创建其他网页 六.用户输入数据 七.用户账户 八.让用户拥有自己的数据 九.设置应用程序样式 ...
- tidb集群某个节点报错之:node_exporter-9100.service failed
今天启动集群tidb时出现一个错误,是某个tikv节点报错:node_exporter-9100.service failed 一个节点的问题会导致整个集群启动失败.去此节点下的日志文件中查找,发现 ...
- asp.net mvc项目使用spring.net发布到IIS后,在访问提示错误 Could not load type from string value 'DALMsSql.DBSessionFactory,DALMsSql'.
asp.net mvc项目使用spring.net发布到IIS后,在访问提示错误 Could not load type from string value 'DALMsSql.DBSessionFa ...
- Linux 小知识翻译 - 「packet」(网络数据包)
用手机接收邮件或者访问网页的时候,一般会说有「packet费用」(这是日本的说法,在中国好像一般都说 “流量费”),即使对网络不太熟悉的人也知道「packet」这个词(这里也是日本的情况). 那么,「 ...