如何制作资产记录规则?

时间:2015-09-01 12:40:56

标签: python xml odoo

我有资产模块。我已经继承了资产代码,我将为其分配用户。如果我有两个公司为两个用户如何制定公司明智资产的记录规则 如果公司分配给A用户 和B公司分配给B用户

我有资产继承类, company_id1 作为公司名称

当用户登录时,他应该只获得公司资产或用户资产与B

相同的东西
{literal}{/literal}

我需要完整的代码,例如.xml或带解释的记录规则

2 个答案:

答案 0 :(得分:0)

转到 - >

  • 设置
    • 技术
      • 安全
        • 记录规则 为资产创建新规则。

取消选中读取,写入,创建和删除的所有访问权限。 enter image description here

答案 1 :(得分:0)

设置规则'在xml,csv文件中访问权限

我创建的新模块依赖于Project Management,我想在安全文件夹中添加新的组,用户,规则和Access控件。我成功地添加了组和用户,以及一些扩展的访问控制。

我的问题是:如何为每条规则指定访问权限(读/写/创建/删除)?。

例如:

1.User可以创建/读/写任务(ACL)

2.用户只能读取/修改分配给他的任务(规则)

3.项目经理可以查看项目中的所有任务(规则)

例如:

<record model="ir.rule" id="ir_values_my_costume_rule">
    <field name="name">My Rule Name</field>
    <field name="model_id" ref="model_your_model_name"/>
    <field name="domain_force">[('field','operator','value'),('user_id','=',user.id)]</field>
    <field name="perm_read" eval="True"/>
    <field name="perm_write" eval="True"/>
    <field name="perm_unlink" eval="True"/>
    <field name="perm_create" eval="True"/>
</record>

您必须在模型名称之前传递model_,如下所示:model_sale_order或model_project_task。

在eval中,您可以根据需要传递True或False。

记录规则也可以从菜单中定义而不创建任何文件:设置 - >技术 - >安全 - >记录规则。

您需要仔细配置三个主要字段,以便定义&#34;记录规则&#34;

对象:您要在其上应用记录规则。 (在这个例子中它是&#34;任务&#34;对象)。

:用于过滤数据的设置域。 组:添加要应用此记录规则的组。如果没有要添加的内容,则此规则将全局应用,通常用于配置多公司记录规则。 我将通过以&#34;任务&#34;为例来解释这种访问规则。 OpenERP的对象。

在我的例子中,假设我的要求是这样的:

用户&#39; rch&#39;只能访问以下类型的任务列表...

未分配给任何用户的所有任务的列表。即(&#39; USER_ID&#39;,&#39; =&#39;,FALSE)

分配给用户的所有任务的列表&#39; rch&#39;。即(&#39; USER_ID&#39;,&#39; =&#39;,user.id)

他所属的所有项目的所有任务列表。即(&#39; project_id.members&#39;,&#39; in&#39;,[user.id])

他是项目经理的项目的所有任务的列表。即(&#39; project_id.user_id&#39;,&#39; =&#39;,user.id)

配置您的记录规则如下:

名称:根据用户和项目的任务。

对象:任务。

域名:[&#39; |&#39;,&#39; |&#39;,&#39; |&#39;,(&#39; user_id&#39;,&#39; =&#39;,FALSE),(&#39; USER_ID&#39;,&#39; =&#39;,user.id),(&#39; project_id.members&#39;,&#39;在&#39;,[user.id]),(&#39; project_id.user_id&#39;,&#39; =&#39;,user.id)]。

群组:项目/用户。

现在将此组(项目/用户)添加到用户&#39; rch&#39;。