简介
我创建了一个新类别的安全组,我创建了几个属于它的组。
我的目的是创建新用户的用户必须只与我创建的组进行交互,而不是默认的 Sales , Purchases , 会计等...例如,如果您属于我创建的一个名为 Controller 的组,则表示您也属于这些组 base.group_user , account.group_account_invoice , purchase.group_purchase_user 和 stock.group_stock_manager 。
代码
这是我的两个小组的代码(名为 Controller 和 CFO ):
<record id="group_my_controller" model="res.groups">
<field name="name">Controller</field>
<field name="category_id" ref="module_category_management"/>
<field name="implied_ids" eval="[
(4, ref('base.group_user')),
(4, ref('account.group_account_invoice')),
(4, ref('purchase.group_purchase_user')),
(4, ref('stock.group_stock_manager')),
]"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
<record id="group_my_cfo" model="res.groups">
<field name="name">CFO</field>
<field name="category_id" ref="module_category_management"/>
<field name="implied_ids" eval="[
(4, ref('base.group_user')),
(4, ref('base.group_sale_manager')),
(4, ref('stock.group_stock_manager')),
(4, ref('account.group_account_manager')),
(4, ref('purchase.group_purchase_manager')),
(4, ref('share.group_share_user')),
(4, ref('base.group_system')),
(4, ref('project.group_project_manager')),
(4, ref('base.group_document_user')),
(4, ref('base.group_hr_manager')),
(4, ref('marketing.group_marketing_manager')),
(4, ref('base.group_website_designer')),
]"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
这很有效,如果我创建一个用户并将其设置为 Controller ,例如 Accounting , Purchases 和<的权限em> Stock 会自动填入指定的。
问题
问题是当您将用户设置为 CFO 并保存,然后改变主意并将其设置为 Controller 。保存时,用户会保留 CFO 组,而不是移动到 Controller 组。我认为这是因为CFO的限制性较小,因为如果您以相反的方式执行此过程, Controller 的权限将被正确地移至 CFO 。
我如何实现目标?有什么想法吗?