【odoo】关于菜单及记录规则中“非”计算的改造
2022-01-02 20:10
405 查看
随笔,随便写写
权限的三种管理:或、与、非
做过odoo二开的人都了解,在odoo中,权限是跟着权限组走的。
与
全局的记录规则是以“与”的关系进行计算的,需同时满足才可以。
或
而非全局的权限,是以“或”的规则进行累加的。因此,如果我们需要的权限大于某个官方基础模块的权限组时,我们可以通过新建一个权限组,然后给这个新的权限组赋予缺少的权限即可。这就是我们所说的“或”。但,如果我们需要的权限正好是小于某个权限组呢,难道要新建一个组,并完整拷贝已知最接近权限组A的权限后去除多余的权限吗?这并不是一个明智的决定。 划重点 以“完整拷贝已知最接近权限组A的权限后去除多余的权限”的方式创建新的权限组,也就以为着该场景下用户只能是我们新建的权限组。但是如果后续的二开模块中,由其他的开发人员新建了某个模型,并将该模型的CURD权限授予权限组A,并对响应的视图进行了扩展。那么,属于我们新建权限组的用户,就没有办法使用最新的功能了。
非
那么针对上面的场景,目前我能想到的最优的解决方案是扩展“非”的逻辑。见下图 一般情况下,我们照常赋予目标用户权限A的角色,同时新建一个权限组,并在
禁用菜单和
禁用记录,中勾选希望去除的记录。 比如,我们授予了用户“销售”模块下“仅自己单据”的角色,但又不希望用户看到销售人员为空的单据,那么我们就可以禁用如下的记录规则。
菜单和记录规则的禁用,分别在ir_ui_menu.py(_visible_menu_ids)和ir_rule.py(_get_rules)中。
相关文章推荐
- 关于flex盒模型里项目放大比例的计算规则(flex-grow和flex属性)
- 关于Tortoise git汉化包装了,不管用,仍然是英文菜单的问题记录
- 关于生产退税计算的系统修改记录
- Spark Streaming 流计算优化记录(4)-时间都去哪儿了,关于调度与空转
- 各种数值计算机内存的存储规则、补码计算、内存数据位扩展和具体意义、关于位运算
- 关于高性能计算的知识记录汇总-菜鸟级别
- 关于viewPager matrix 计算 ,现在记录下来
- Android记录23-关于actionbar中overflow menu(溢出菜单)中的一些问题
- 关于记录规则的限制处理
- 关于计算结构体大小的内存补齐规则(个人愚见)
- odoo 记录集权限(二.记录规则)
- Android记录23-关于actionbar中overflow menu(溢出菜单)中的一些问题
- 日常记录——关于数组下标计算的一点心得
- 关于tableView中cell高度的计算3种方式记录
- 关于html表格宽度的计算规则
- 无限类别,无限子类,无限菜单,无限规则, _层的的下属计算
- 关于计算与通讯领域的字符编码问题简要记录
- 关于数据结构里big-O的一些规则记录
- 关于高性能计算的知识记录汇总-菜鸟级别? .
- 关于高性能计算的知识记录汇总-菜鸟级别?