gpt4 book ai didi

odoo 覆盖对象的组权限

转载 作者:行者123 更新时间:2023-12-03 03:36:57 28 4
gpt4 key购买 nike

我在 odoo 8 中有一个任务,我必须创建一个名为( picker )的用户组,该用户组将继承到仓库用户组。作为仓库经理 -> 用户 -> 测试。所以我创建了用户如下:

<record id="warehouse_picker" model="res.groups">
<field name="name">picker </field>
<field name="category_id" ref="base.module_category_warehouse_management"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]" />
</record>

我还添加了此代码以向该用户授予菜单仓库的访问权限:

<record id="stock.group_stock_user" model="res.groups">
<field name="implied_ids" eval="[(4, ref('warehouse_picker')),(4, ref('stock.group_locations'))]"/>
</record>

现在,集团仓库/用户对对象(stock.picking)的访问规则为1,1,1,1。我需要限制/覆盖此规则 (stock.picking) 为 1,0,0,0

我尝试了以下代码,但不起作用:

<record id="warehouse_picker_rule" model="ir.rule">
<field name="name">Warehouse Picker Rule</field>
<field name="model_id" ref="stock.model_stock_picking"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('warehouse_picker'))]"/>
<field name="perm_read" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="True"/>
</record>

有人可以帮我解决/覆盖现有规则吗?我不想触及核心模块规则。

谢谢

最佳答案

检查该规则来自哪个模块,然后您可以覆盖如下:

<record id="module.rule_id" model="ir.model.access">
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>

例如,模块是 stock,rule_id(您可以在 GUI 中使用 Debug模式找到它,或者查看模块 ir.model.access.csv 第一列)是 move_read_all:

<record id="stock.move_read_all" model="ir.model.access">
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>

如果我理解你的愿望是正确的,那么你必须按以下方式覆盖它:

<record id="stock.access_stock_picking_user" model="ir.model.access">
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>

您需要将对 stock 的依赖项放入自定义模块的 list 文件中。

关于odoo 覆盖对象的组权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37705696/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com