1.创建security/{your_add_name}.xml
2.填写xml的声明语句。
3.复制下方的代码。
<record id="{your_add_name}_group_user" model="res.groups">
<field name="name">User</field>
<field name="category_id" ref="module_library_category" />
<field name="implied_ids" eval="[(4, ref('base.group_user'))]" />
</record>
<record id="{your_add_name}_group_manager" model="res.groups">
<field name="name">Manager</field>
<field name="category_id" ref="module_{your_add_name}_category" />
<field name="implied_ids" eval="[(4, ref('{your_add_name}_group_user'))]" />
<field name="users" eval="[
(4, ref('base.user_root')),
(4, ref('base.user_admin'))
]" />
</record>
文心一言:
在Odoo中,XML记录(<record>)通常用于在数据模型中定义或更新数据。在你给出的例子中,<record> 标签定义了一个 res.groups 模型的记录,该模型用于表示用户组。下面是对这段代码的详细解释:
record标签:
id="library_group_user": 这是该记录的外部ID,可以在其他XML记录或Python代码中引用它。
model="res.groups": 这指定了要创建或更新的模型是res.groups,即用户组模型。
字段(field)标签:
每一个<field>标签代表res.groups模型的一个字段。
字段值:
<field name="name">User</field>:
这设置了用户组的名称为"User"。
<field name="category_id" ref="module_library_category" />:
这设置了用户组的category_id字段。ref属性用于引用另一个XML记录中的ID。在这里,它可能引用了一个在另一个XML文件中定义的名为module_library_category的用户组分类。
<field name="implied_ids" eval="[(4, ref('base.group_user'))]" />:
这设置了implied_ids字段,该字段通常用于表示当一个用户被添加到这个用户组时,他们也应该被自动添加到哪些其他用户组。eval属性允许你在XML中执行简单的Python表达式。在这里,它使用了一个命令列表(command list),这是Odoo中用于处理关系字段的一种特殊语法。(4, ref('base.group_user'))是一个命令,意思是“将base.group_user这个用户组链接到这个用户组”。
base.group_user:
是Odoo基础模块中定义的一个用户组,通常代表系统的基本用户。
总结:
这段代码定义了一个名为"User"的用户组,它属于某个分类(由module_library_category指定),并且当某个用户被添加到这个用户组时,他们也会自动被添加到base.group_user用户组。