• 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开发的流程走了一遍,万事开头难,总算完成了我们的第一个应用的模块,接下来就是熟悉开发的过程和具体的知识点。

  • 相关阅读:
    apt局域网源搭建
    openstack 使用集锦
    nova-network创建初始化网络
    ubunt 基于deb 配置本地apt 源 分成仅本机使用,局域网使用2种
    使用HTML5监測站点性能
    写一个函数将传入的字符串转换成驼峰表示法
    简略的帧动画
    献给那些前端学习迷茫的人 -----前端开发必备的11项技能!!!
    排列组合(permutation)系列解题报告
    mysql 经常使用命令整理总结
  • 原文地址:https://www.cnblogs.com/crazyguo/p/6933437.html
Copyright © 2020-2023  润新知