我在odoo 8中有一个任务,我必须创建一个名为(picker)的用户组,它将继承仓库用户组。作为仓库经理 - >用户 - >测试。所以我创建的用户,如下所示:odoo覆盖对象的组权限
<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>
现在,该集团仓库/用户有权访问规则的object(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>
有人可以帮我解决/覆盖现有的规则。我不想触摸核心模块规则。
感谢,
CZoellner嗨,我没有股票查找规则move_read_all。此外,在ir.model.access.csv中没有列值作为move_read_all。你能指导我如何看待使用调试模式。 – user280960
这只是一个简单的例子。我试图找到你明确的访问规则。首先在模块库存(stock/security/ir.model.access.csv)中使用ir.model.access.csv。搜索model_stock_picking发现2项和'access_stock_picking_user,stock.picking用户,model_stock_picking,stock.group_stock_user,1,1,1,1'是你想要的。第一列包含xml id(或外部id),并且是'access_stock_picking_user'。 – CZoellner
通过GUI查找它有点棘手。您需要激活调试。转至设置/技术/安全/访问控制列表并搜索模型stock.picking。你会发现一些条目。现在标记一个你想要的XML ID,然后切换到窗体视图(右上)。现在打开调试菜单并查找“查看日志”或元数据。在该弹出窗口中,您将获得xml id。 – CZoellner