草庐IT

odoo 开发入门教程系列-基本视图

在上一章中已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受的。相反,我们至少应该以逻辑的方式组织各个字段。视图是在带有操作和菜单的XML文件中定义的。它们是ir.ui.viewmodel的实例。在我们的estate模块中,我们需要以逻辑方式组织字段:在列表(树)视图中,我们希望显示的不仅仅是名称。在表单视图中,应该对字段进行分组。在搜索视图中,我们必须能够搜索的不仅仅是名称。具体来说,我们需要"Available"的地产筛选器和按"postcode"分组的快捷方式List(列表)参考:主题关联文档可参考List.列表视图,也叫树(tree)视图,以表

【odoo14】【用户侧】权限配置

以下内容仅适用于odoo的客户,不适用于开发人员。下文介绍中涉及的概念及UI均是在odoo14社区版中进行。目录一、odoo中的对象二、权限控制2.1实现原理2.2UI方式实现权限控制2.2.1用户2.2.2继承2.2.3菜单2.2.4视图2.2.5访问权限2.2.6记录规则2.2.7模型字段的控制一、odoo中的对象菜单、视图、访问权限(对应模型)、记录规则(对应模型记录)二、权限控制总的来说,odoo中的权限控制颗粒度还是非常细的。最小可以到模型中的某个具体的字段,以及在odoo系统中的每一条记录。2.1实现原理以上提到的所有的对象,都是以权限组为最小单位进行控制的。有点类似于库存中商品与

【odoo14】【用户侧】权限配置

以下内容仅适用于odoo的客户,不适用于开发人员。下文介绍中涉及的概念及UI均是在odoo14社区版中进行。目录一、odoo中的对象二、权限控制2.1实现原理2.2UI方式实现权限控制2.2.1用户2.2.2继承2.2.3菜单2.2.4视图2.2.5访问权限2.2.6记录规则2.2.7模型字段的控制一、odoo中的对象菜单、视图、访问权限(对应模型)、记录规则(对应模型记录)二、权限控制总的来说,odoo中的权限控制颗粒度还是非常细的。最小可以到模型中的某个具体的字段,以及在odoo系统中的每一条记录。2.1实现原理以上提到的所有的对象,都是以权限组为最小单位进行控制的。有点类似于库存中商品与

【odoo14】【知识点】视图的继承逻辑

背景:同一个模块,两组开发人员对同一个模型的form视图进行了二开。在没有指定外部ID的情况下,odoo是如何选择展示展示哪个视图呢?上干货odoo在加载视图的时候,首先调用的models.py中的load_views函数;@api.modeldefload_views(self,views,options=None):"""Returnsthefields_viewsofgivenviews,alongwiththefieldsofthecurrentmodel,andoptionallyitsfiltersforthegivenaction.:paramviews:listof[view_

【odoo14】【知识点】视图的继承逻辑

背景:同一个模块,两组开发人员对同一个模型的form视图进行了二开。在没有指定外部ID的情况下,odoo是如何选择展示展示哪个视图呢?上干货odoo在加载视图的时候,首先调用的models.py中的load_views函数;@api.modeldefload_views(self,views,options=None):"""Returnsthefields_viewsofgivenviews,alongwiththefieldsofthecurrentmodel,andoptionallyitsfiltersforthegivenaction.:paramviews:listof[view_

【odoo】【知识点】生成pdf文件时缺少样式的问题

欢迎转载,但需标注出处,谢谢!背景近期在客户的项目中发现在自定义报表样式的时候,存在渲染为html正常,但是在生成pdf的时候,缺少样式的情况。分析涉及到的odoo源码中的ir_actions_report.py文件中的代码def_prepare_html(self,html):'''Divideandrecreatetheheader/footerhtmlbymergingallfoundinhtml.Thebodiesareextractedandaddedtoalist.Then,extractthespecific_paperformat_args.Theideaistoputallh

【odoo】【知识点】生成pdf文件时缺少样式的问题

欢迎转载,但需标注出处,谢谢!背景近期在客户的项目中发现在自定义报表样式的时候,存在渲染为html正常,但是在生成pdf的时候,缺少样式的情况。分析涉及到的odoo源码中的ir_actions_report.py文件中的代码def_prepare_html(self,html):'''Divideandrecreatetheheader/footerhtmlbymergingallfoundinhtml.Thebodiesareextractedandaddedtoalist.Then,extractthespecific_paperformat_args.Theideaistoputallh

【odoo14】【开发侧】权限配置

欢迎转载,但需标注出处,谢谢!说明:本文面向开发人员,普通用户可参考【odoo14】【用户侧】权限配置。文章结构与用户侧一致。目录一、odoo中的对象二、权限控制2.1实现原理2.2代码方式实现权限控制一、odoo中的对象菜单、视图、访问权限(对应模型)、记录规则(对应模型记录)二、权限控制总的来说,odoo中的权限控制颗粒度还是非常细的。最小可以到模型中的某个具体的字段,以及在odoo系统中的每一条记录。2.1实现原理以上提到的所有的对象,都是以权限组为最小单位进行控制的。有点类似于库存中商品与变体的感觉。2.2代码方式实现权限控制以下内容以account模块为例新建权限组所属类型,可添加到

【odoo14】【开发侧】权限配置

欢迎转载,但需标注出处,谢谢!说明:本文面向开发人员,普通用户可参考【odoo14】【用户侧】权限配置。文章结构与用户侧一致。目录一、odoo中的对象二、权限控制2.1实现原理2.2代码方式实现权限控制一、odoo中的对象菜单、视图、访问权限(对应模型)、记录规则(对应模型记录)二、权限控制总的来说,odoo中的权限控制颗粒度还是非常细的。最小可以到模型中的某个具体的字段,以及在odoo系统中的每一条记录。2.1实现原理以上提到的所有的对象,都是以权限组为最小单位进行控制的。有点类似于库存中商品与变体的感觉。2.2代码方式实现权限控制以下内容以account模块为例新建权限组所属类型,可添加到

【odoo】【知识杂谈】单一实例多库模式下定时任务线程崩了

现象接上一篇,在成功实现单一实例多库模式下定时任务的问题后,现在可以实现多个库的定时任务跑起来了。但是发现在任务跑几次后就不再执行了,每次重启odoo实例就会恢复。但是很快又不行了。分析查看进程发现,后台开启的两个定时任务线程直接消失了。。。查看日志,有段报错,如下:fordb_name,registryinregistries.d.items():RuntimeError:OrderedDictmutatedduringiteration可以定位到问题出现server.py文件中的cron_thread函数上。经过实验发现,python3版本的OrderedDict对象在迭代的过程中如果新增