这次开发的模块是订餐的类型设计,比如大荤 小荤 蔬菜 米饭 等基本数据。
1.设计model类,很简单就一个字段:

class MyLunchProductionCategory(osv.Model):

    _name = "mylunch.production.category"
_description = "MyLunch Production Category"
_columns = {
'name': fields.char('Category', required=True)
}

2.设计菜单,菜单放在配置菜单下面,在mylunch_view.xml中增加如下代码

<menuitem name="MyLunch Production Category" parent="menu_lunch_config" id="menu_mylunch_production_category" action="action_mylunch_production_categories">

3.设计action动作,以便关联tree 和 form视图

        <record model="ir.actions.act_window" id="action_mylunch_production_categories">
<field name="name">MyLunch Production Categories</field>
<field name="res_model">mylunch.production.category</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a mylunch category.
</p>
<p>
Here you can find every mylunch categories for products.
</p>
</field>
</record>

这里的字段help,主要目的是在tree列表没有数据的时候显示的内容

4.设计form视图, tree视图不设计,使用默认的样板

        <record model="ir.ui.view" id="mylunch_production_category_form_view">
<field name="name">MyLunch Production Form View</field>
<field name="model">mylunch.production.category</field>
<field name="arch" type="xml">
<form string="Production Category Form">
<sheet>
<group>
<field name="name" string="Production Category:"></field>
</group>
</sheet>
</form>
</field>
</record>

5.给类添加权限,在ir.model.access.csv中添加如下代码

id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
mylunch_product_category_manager,"MyLunch Product category user",model_mylunch_production_category,group_my_lunch_manager,1,1,1,1
mylunch_product_category_user,"MyLunch Product category user",model_mylunch_production_category,group_my_lunch_user,1,0,0,0

模块升级运行之后的效果图:

odoo订餐系统之类型设计的更多相关文章

  1. odoo订餐系统之订单设计

    订餐系统的主要功能便是用户下单部分,这里我们分为表头mylunch_order和表体mylunch_order_line两张主要的数据表,表头主要记录订单的一些通用信息,比如下单的操作人员 下单日期 ...

  2. odoo订餐系统之菜单设计

    1.model类的设计 class MyLunchProduction(osv.Model): _name = "mylunch.production" _description ...

  3. odoo 订餐系统之消息提醒

    打算入手odoo开发新的系统,先研究下开发的过程是如何的.案例模仿自带的订餐系统,此系统模块不多,但很典型,可以达到联系的目的.先记录下订餐系统消息提醒的开发过程. 1.添加自己的addons目录my ...

  4. odoo订餐系统之订单相关知识点理解

    1.对重载函数name_get的理解 第一,此函数位于Model基类中,返回值是一个list列表,列表中的每个值是如(key,value)形式的键值对,此处为(id,name). 第二,在自己的Mod ...

  5. 大型web系统数据缓存设计

    1. 前言 在高访问量的web系统中,缓存几乎是离不开的:但是一个适当.高效的缓存方案设计却并不容易:所以接下来将讨论一下应用系统缓存的设计方面应该注意哪些东西,包括缓存的选型.常见缓存系统的特点和数 ...

  6. Java日志系统框架的设计与实现

    推荐一篇好的文章介绍java日志系统框架的设计的文章:http://soft.chinabyte.com/database/438/11321938.shtml 文章内容总结: 日志系统对跟踪调试.程 ...

  7. 分布式发布订阅消息系统 Kafka 架构设计[转]

    分布式发布订阅消息系统 Kafka 架构设计 转自:http://www.oschina.net/translate/kafka-design 我们为什么要搭建该系统 Kafka是一个消息系统,原本开 ...

  8. 苹果IOS与谷歌 android系统的UI设计原则

    一.苹果为IOS的界面设计提出了六大原则: 1.整体美学 整体美学指的是一个应用的表现和行为与它的功能完美集成,传达连贯的信息. 人们关心一个应用是否提供它承诺的功能,但他们也被应用的外观和行为强烈影 ...

  9. 大型web系统数据缓存设计-l转载

    原文地址:http://www.wmyouxi.com/a/60368.html#ixzz3tGYG9JwC 1. 前言 在高访问量的web系统中,缓存几乎是离不开的:但是一个适当.高效的缓存方案设计 ...

随机推荐

  1. Ubuntu 中卸载软件的几种命令

    1.在终端里 apt-get安装的软件:安装软件sudo  apt-get install softname1 softname2softname3--卸载软件 sudo apt-get remove ...

  2. How to deploy kotlin in androidstudio?

    Kotlin is a good language,more playable than Java.So how do we deploy kotlin? First,install the kotl ...

  3. LinkedHashMap

    LinkedHashMap既是一个HashMap,也是一个链表 package java.util; import java.util.function.Consumer; import java.u ...

  4. 表单元素的required,autocomplete,list用法

    required: 当在一个表单元素如:input中加上required属性时,点击提交表单按钮,针对input会弹出一个默认的警告信息,如下图: 代码如下: <form id="my ...

  5. JS列表

    promise 引用类型/值类型 ----- 对比python可变对象/不可变对象 原型继承

  6. JS代码段:返回yyyy-mm-dd hh:mm:ss

    最近做项目的时候正好用到,本着能抄就抄的心态去百度搜索现成的代码, 没想到抄下来的好几个都是错的,要么getMonth没有加1,要么10以下的数字前面没有加0, 我真是日了狗了,这次把写好的正确的直接 ...

  7. yolo.h5制作方法

    学习吴恩达的深度学习第三课缺少yolo.h5文件,花了很长时间来解决这个问题. 看到CSDN上各种需要积分下载的yolo.h5文件,实在看不下去了. 从 https://github.com/alla ...

  8. 在CDS(Core Data Services)中使用DCL(Data Control Language)

    最近,我在玩ABAP CDS视图,并且遇到了一些权限方面的挑战.我在网上没看到有多少有关CDS开发的文档,因为它是个相当新的东西.因此,我决定写下这篇博客,也许我的想法可以帮助到一些人. 和你已经意识 ...

  9. phpize安装php扩展CURL

    进入php源码包curl扩展目录 cd php-/ext/curl phpize ./configure --with-php-config=/usr/local/webserver/php/bin/ ...

  10. 用智能TFT液晶模块这种串口屏做产品界面设计太简单了,大大的节省了开发时间

    随着科技的发展,TFT液晶显示屏在我们日常中可以随处可见. 工业设备上的显示也逐渐由段式显示.黑白显示转向彩色的TFT液晶显示屏. 普通的TFT液晶显示屏由于开发起来比较麻烦, 需要嵌入式工程时写程序 ...