3
<?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>

我现在坚持对我的应用程序进行安全处理。它的代码在这里显示

我还参考文档以阐明上述 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'))]"/>
4

2 回答 2

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'))]"/>

正如在此组的用户中定义的自动继承这些组意味着当您将此组分配给任何用户时,它也会自动访问此字段中给出的所有组implicit_ids

分配给某个用户时的 BPL 管理器组示例,当您分配该组时,您还希望将许多其他组分配给该用户,然后在“Inherited” implicit_ids字段中将许多其他组添加到该组

于 2013-04-12T05:07:43.213 回答
2

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

于 2013-04-12T06:09:56.503 回答