如何在自定义模块中创建新的用户组?
How can you create new user group in a custom module?
我想为特定组的新模型分配权限。这个新组将被称为 "Product Extended User",因为它允许访问 "Product Extended" 模型和自定义模块。
如果我在 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.
.
作为前缀
如何创建这样的组,不是手动而是从自定义模块数据文件中导入?
首先创建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
文件添加到清单文件的数据属性中。您将可以通过这种方式创建群组。
How do you then refer to this specific group in the ir.model.access.csv
file, provided that both xml
and ir.model.access.csv
are defined in the same module?
在您的 __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
我想为特定组的新模型分配权限。这个新组将被称为 "Product Extended User",因为它允许访问 "Product Extended" 模型和自定义模块。
如果我在 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.
.
如何创建这样的组,不是手动而是从自定义模块数据文件中导入?
首先创建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
文件添加到清单文件的数据属性中。您将可以通过这种方式创建群组。
How do you then refer to this specific group in the
ir.model.access.csv
file, provided that bothxml
andir.model.access.csv
are defined in the same module?
在您的
__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