如何在Odoo8中以正确的方式创建安全组?

时间:2015-12-16 12:00:28

标签: xml security openerp odoo-8

简介

我创建了一个新类别的安全组,我创建了几个属于它的组。

我的目的是创建新用户的用户必须只与我创建的组进行交互,而不是默认的 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

我如何实现目标?有什么想法吗?

0 个答案:

没有答案