Odoo/OpenERP: 我如何限制用户使用他自己的日记条目

Odoo/OpenERP: How can i restrict a user to his own journal entries

我想限制一个用户,让他只能看到他自己的日记条目,只能编辑他自己的条目等等。我该怎么做。我试过了,但没能实现。

创建用户所属的res.group
然后,您必须在 ir.model.access.csv 安全文件中授予该组访问权限。
现在用属性 domain_force 定义一个 ir.rule,它采用 python 编码条件,设置权限。
像这样:

<record id="user_see_its_own" model="ir.rule">
    <field name="name">User can see only its own records</field>
    <field name="model_id" ref="< your_model >"/>
    <field name="groups" eval="[(4, ref('*<your_group>*'))]"/>
    <field name="perm_read" eval="1"/>
    <field name="perm_write" eval="1"/>
    <field name="perm_create" eval="1"/>
    <field name="perm_unlink" eval="0"/>
    <field name="domain_force">
        [('create_uid', '=', user.id)]
    </field>
</record>

大功告成。

请记住,如果您在这个特定组之上还有其他组,则必须使 ir.rule 刚刚创建的条件始终为真的定义组无效。
像这样:

<record id="manager_see_all" model="ir.rule">
    <field name="name">Manager see all</field>
    <field name="model_id" ref="< your_model >"/>
    <field name="groups" eval="[(4, ref('*<your_group>*'))]"/>
    <field name="perm_read" eval="1"/>
    <field name="perm_write" eval="1"/>
    <field name="perm_create" eval="1"/>
    <field name="perm_unlink" eval="1"/>
    <field name="domain_force">
        [(1, '=', 1)]
    </field>
</record>