Odoo 快速入门与实战:Python 开发 ERP 指南 (19):Odoo 应用概览 3.3.3

阅读数:1 2020 年 1 月 1 日 17:20

Odoo快速入门与实战:Python开发ERP指南(19):Odoo应用概览 3.3.3

(新建菜单)

内容简介
本书包括基础篇、研发技术篇和实战篇,按照由基础到进阶,再到实战的顺序讲解。基础篇涉及 Odoo 简介、Odoo 的安装与配置、Odoo 应用概览、Python 基础和 PostgreSQL 基础。通过本篇的学习,可以让读者快速掌握 Odoo 二次开发所需具备的基础知识。研发技术篇是本书的核心内容,涵盖了搭建模型的基础知识、模型建设进阶内容、ORM 介绍以及后端视图的介绍。另外还包括了数据的导入和导出功能,以及安全设置等内容。在本篇的介绍过程当中,一直按照 bug 管理系统的开发为主线,从简单功能一直到整个系统完整上线,读者可以按照书中的代码,一步一步来实现该系统。实战篇则是对前面知识的融会贯通和提升,针对一个完整的培训行业管理系统的开发进行讲解,其系统的复杂性和难度都要比第二篇增强。

现在,我们已经将联系人继承扩展为教师视图,因为本章的意图是快速浏览 Odoo,所以不要细究只增加一个复选框是否够用的问题,我们在此假设只通过复选框区分是否为教师,其他信息还用原来联系人的字段就足够了。

不过就目前的数据而言,很明显展示出来的不都是教师,所以我们想是不是还应该做一个菜单,点击以后仅列出来“是否老师”标志为“True”的信息,以方便使用。

现在看到的系统的顶级菜单中没有教师的授课模块,我们应该先有一个一级菜单,然后在下面的二级菜单中增加一个教师菜单,后续我们还会增加课程菜单。

新建菜单可以在前端页面进行,进入设置|用户界面|菜单项目页面,点击新建按钮并且输入以下信息:

菜单:教师授课
上级菜单:空
动作:空

然后,在界面下方的子菜单选项卡内点击添加项目按钮,然后输入以下信息:

菜单:教师
完整路径:教师授课(默认,不可编辑)
动作:选择 ir.actions.act_window,然后在右侧新增的下拉框中选择创建并编辑。在新弹出的窗口中输入以下信息:
  动作名称:教师
  对象:res.partner

将以上的编辑信息全部保存并且关闭。

我们仍然是在浏览器中按 F5 刷新页面,查看修改是否成功,刷新后的视图如图 3-7 所示。

Odoo快速入门与实战:Python开发ERP指南(19):Odoo应用概览 3.3.3

图 3-7 添加菜单后的效果图

从图 3-7 中可以看到,菜单已添加成功,我们新建的这个菜单是呈树状展示的,而且二级菜单绑定了动作(action),通过这个动作我们定义了点击二级菜单后呈现的视图,动作的名称将作为这个呈现视图的名称。

动作可分为多种类型,最重要的有 Window Actions、Reports Actions 和 Server Actions。Window Actions 用于处理在前端展示的视图,Reports Actions 用于运行报表,而 Server Actions 则用于定义自动执行的任务。目前我们重点关注的是 Window Actions,这也是最常用的动作类型。

上面我们创建了一个动作,如果想编辑这个动作,可以进入设置|动作界面然后搜索自己新建的动作并编辑,在编辑的页面我们会发现很多字段都没有出现,只有简单的两个字段,这时候选择调试|编辑动作,可以看到跟创建时一样的界面。

上文创建的动作并没有完全满足我们的需求,这个动作列出了所有的联系人,其实需求只需要列出 x_is_teacher 为 True 的联系人即可。我们重新进入教师动作的编辑界面,可以看到在动作界面的右下部分有一组筛选的相关设置字段,如图 3-8 所示。

可以看到,有个域值(domain)字段,该字段的值可以是一个表达式,关于该表达式的用法,本书后面会有具体介绍,此处可直接根据我们的需求写出表达式,如下:

复制代码
1. [('x_is_teacher','=',True)]

我们希望再创建教师时,是否教师复选框是默认选中的。可以使用上下文值(context)字段来完成该功能。context 是 Odoo 传递会话消息的方式,包括默认值的处理。这些也将与 domain 一样在后文中会有详细介绍,此处只介绍其值采用字典形式存放的情况。

Odoo快速入门与实战:Python开发ERP指南(19):Odoo应用概览 3.3.3

图 3-8 编辑动作界面

默认值要以 default_ 开始,本处 context 的表达式为:

复制代码
1. {'default_x_is_teacher':True}

此时我们再到教师授课|教师页面查看,因为联系人模型原来没有是否教师字段,所以查看以前的联系人可发现该值为空值。这时候我们再点击创建按钮进入新建页面,如图 3-9 所示。

Odoo快速入门与实战:Python开发ERP指南(19):Odoo应用概览 3.3.3

图 3-9 设置默认选中效果图

从图 3-9 中可以看到是否老师的复选框默认是选中的,创建完成一个老师以后,再回到教师列表界面,刚创建的信息出现在了列表中,证明操作已成功。

Odoo快速入门与实战:Python开发ERP指南(19):Odoo应用概览 3.3.3

购书地址 https://item.jd.com/12612902.html?dist=jd

评论

发布