OpenERP ver 7 - Security.xml的解释

时间:2013-04-11 17:43:31

标签: python xml openerp

<?xml version="1.0" ?>
<openerp>
    <data>
        <record model="ir.module.category" id="module_lunch_category">
            <field name="name">Lunch</field>
            <field name="description">Helps you handle your lunch needs, if you are a manager you will be able to create new products, cashmoves and to confirm or cancel orders.</field>
            <field name="sequence">16</field>
        </record>
        <record id="group_lunch_user" model="res.groups">
            <field name="name">User</field>
            <field name="category_id" ref="module_lunch_category"/>
        </record>
        <record id="group_lunch_manager" model="res.groups">
            <field name="name">Manager</field>
            <field name="implied_ids" eval="[(4, ref('group_lunch_user'))]"/>
            <field name="category_id" ref="module_lunch_category"/>
            <field name="users" eval="[(4, ref('base.user_root'))]"/>
        </record>
    </data>
</openerp>

我现在已经对我的应用程序进行了安全处理。代码显示here

我也参考文档来澄清上面的xml代码。但是我在文档中对版本7没有很好的解释。我需要在下面的部分进行说明。请建议我清楚了解它

请解释

ir.module.category表示。?

<record model="ir.module.category" id="module_lunch_category">

model =“res.groups”表示。?

<record id="group_lunch_user" model="res.groups">

需要澄清以下整行

<field name="implied_ids" eval="[(4, ref('group_lunch_user'))]"/>

2 个答案:

答案 0 :(得分:11)

1. <record model="ir.module.category" id="module_lunch_category">

这用于按应用程序名称(如购买,仓库或您自己的模块)创建类别。对于属于此模​​块的特定组,它只是您的模块的名称 与模块名称bpl一样,您可以在ir.module.category中创建 BPL

2. <record id="group_lunch_user" model="res.groups">

这用于为此应用程序创建组,例如您创建用户,并且您希望授予该应用程序的此用户访问权限,然后将该组添加到您的用户。

出于安全原因的示例,您希望提供一些菜单,某些字段可以由不同的用户进行访问,因此您可以创建组。就像你创建“USER”和 MANAGER 组一样。

<record model="res.groups" id="group_bpl_manager">
            <field name="name">Manager</field>
        </record>


<record model="res.groups" id="group_bpl_user">
            <field name="name">User</field>
        </record>

您在管理员组中创建的这两个组可以访问所有菜单和所有字段,但是用户组具有有限的访问权限,因此您要为哪个用户提供完全访问权限,您可以分配管理器组和有限访问权限,然后分配用户组对那个用户。

3.<field name="implied_ids" eval="[(4, ref('group_lunch_user'))]"/>

中定义此群组的用户自动继承这些群组表示当您将此群组分配给任何用户时,它自动也会访问此字段 implied_ids 中指定的所有群组。

当您分配给某个用户时,BPL Manager组的示例,您还想在协助该组时向该用户分配许多其他组,然后在“继承” implied_ids <中向该组添加许多其他组/ strong>字段

答案 1 :(得分:2)

您还可以参考OpenERP中的Base,Sale,Account,Purchase,Manufacturing,Stock ...模块,供您参考。在安全方面,它们都得到了很好的维护。