我想为特定组的新模型分配权限。这个新组将被称为“产品扩展用户”,因为它可以访问“产品扩展”模型和自定义模块。
如果我在ir.mode.access.csv
中执行此操作,我希望能够为特定模型启用此组的访问权限。
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_product_extended_user_group,product.extended.user,model_product_extended,base.group_product_extended_user,1,1,1,1
但是,该组未创建,因此XMLID base.group_product_extended_user
不存在,我怀疑它必须以base.
为前缀。
如何创建此类组,而不是手动创建,而是从自定义模块数据文件中导入?
答案 0 :(得分:3)
首先创建ir.model.access.csv
文件并添加以下代码。
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_product_extended_user,product.extended.user,model_product_extended,module_name.group_product_extended_user,1,1,1,1
在这种情况下,型号名称为product.extended
,组名称为group_product_extended_user
。
之后,您需要在xml文件中添加此代码。
<record model="res.groups" id="group_product_extended_user">
<field name="name">Group name</field>
<field name="category_id" ref="module.category_id"/>
</record>
将此xml
和ir.model.access.csv
文件添加到清单文件的数据属性中。您将能够以这种方式创建一个组。
答案 1 :(得分:1)
如果
ir.model.access.csv
和xml
在同一模块中定义,那么如何在ir.model.access.csv
文件中引用此特定组?
在__openerp__.py
(或更新的Odoo版本中的__manifest__.py
)文件中,确保在ir.model.access.csv
文件之前加载创建该组的文件。
像对待任何其他群组一样召唤:your_module_name.group_xml_id
<强> ir.model.access.csv 强>
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_product_extended_user_group,product.extended.user,model_product_extended,your_module_name.group_xml_id,1,1,1,1