更改odoo 12中的应用程序访问用户权限
Change application access user right in odoo 12
我想更改应用程序访问用户权限。
在 Mark Demo 中,Administration 是选择字段,它具有 Access Rights.
的权限
我想将其更改为 设置。
在 python 文件中 self.env.user.has_group('base.group_system')
returns 错误。
这意味着在选择字段中,它使用 空白或访问权限 。
我怎样才能将它更改为 设置 。
我在基地找到了这个小组。
<record model="res.groups" id="group_system">
<field name="name">Settings</field>
<field name="implied_ids" eval="[(4, ref('group_erp_manager'))]"/>
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record>
当我们更改 Administration
字段的值并单击 save
按钮时,Odoo 像往常一样调用 write
方法,在这种情况下,Odoo 做的第一件事是调用 _remove_reified_groups 方法从值中删除 reified group fields
(在您的示例中为 sel_groups_2_3
)并计算 groups_id
的值,然后将其添加到要在下一步中写入的值(调用 super 时).
_remove_reified_groups
计算要从 groups_id
添加或删除的组。如果 reified group field
出现在值中并且有一个值,它将被添加到 groups_id
,每次 reified group field
出现在值中时,方法调用 get_selection_groups(key) 来计算组要删除,方法 returns 字段名称中存在的组 ID。对于管理字段 sel_groups_2_3
,该方法将 return [2, 3]
.
要在更新 Administration
组时重现相同的结果,我们需要删除字段名称中使用的组,然后将所选组添加到 groups_id
(values['groups_id'] = [(3, 2), (3, 3), (4, 3)]
)
用于将 Mark demo
管理组设置为 Settings
组的 XML 代码应该是:
<record id="base.user_demo" model="res.users">
<field name="groups_id" eval="[(3,ref('base.group_erp_manager')),(3,ref('base.group_system')),(4,ref('base.group_system'))]"/>
</record>
我想更改应用程序访问用户权限。
在 Mark Demo 中,Administration 是选择字段,它具有 Access Rights.
的权限
我想将其更改为 设置。
在 python 文件中 self.env.user.has_group('base.group_system')
returns 错误。
这意味着在选择字段中,它使用 空白或访问权限 。
我怎样才能将它更改为 设置 。
我在基地找到了这个小组。
<record model="res.groups" id="group_system">
<field name="name">Settings</field>
<field name="implied_ids" eval="[(4, ref('group_erp_manager'))]"/>
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record>
当我们更改 Administration
字段的值并单击 save
按钮时,Odoo 像往常一样调用 write
方法,在这种情况下,Odoo 做的第一件事是调用 _remove_reified_groups 方法从值中删除 reified group fields
(在您的示例中为 sel_groups_2_3
)并计算 groups_id
的值,然后将其添加到要在下一步中写入的值(调用 super 时).
_remove_reified_groups
计算要从 groups_id
添加或删除的组。如果 reified group field
出现在值中并且有一个值,它将被添加到 groups_id
,每次 reified group field
出现在值中时,方法调用 get_selection_groups(key) 来计算组要删除,方法 returns 字段名称中存在的组 ID。对于管理字段 sel_groups_2_3
,该方法将 return [2, 3]
.
要在更新 Administration
组时重现相同的结果,我们需要删除字段名称中使用的组,然后将所选组添加到 groups_id
(values['groups_id'] = [(3, 2), (3, 3), (4, 3)]
)
用于将 Mark demo
管理组设置为 Settings
组的 XML 代码应该是:
<record id="base.user_demo" model="res.users">
<field name="groups_id" eval="[(3,ref('base.group_erp_manager')),(3,ref('base.group_system')),(4,ref('base.group_system'))]"/>
</record>