Openerp 一个模型的两条规则

Openerp 一个模型的两条规则,openerp,odoo-10,Openerp,Odoo 10,我需要使用两个组对res\u partner表应用两个规则 组:员工和经理 菜单项:客户和“员工” 型号:res\u partner用于两种视图 组Staff中的用户只能查看Staff菜单详细信息(只读访问) 但他们需要完全访问客户(读、写、创建和取消链接) Manager中的用户应具有对这两个视图的完全访问权限 我试过下面的代码 <record model="ir.rule" id="staff_staff_rule"> <field name="name">

我需要使用两个
组对
res\u partner
表应用两个规则

组:
员工
经理

菜单项:
客户
和“员工”

型号:
res\u partner
用于两种视图

  • Staff
    中的用户只能查看
    Staff
    菜单详细信息(只读访问)
  • 但他们需要完全访问
    客户
    (读、写、创建和取消链接)
  • Manager中的用户应具有对这两个视图的完全访问权限
  • 我试过下面的代码

     <record model="ir.rule" id="staff_staff_rule">
        <field name="name">Readonly for staff</field>
        <field name="model_id" ref="base.model_res_partner"/>
        <field name="domain_force">[(1,'=',1)]</field>
        <field name="perm_create" eval="False"/>
        <field name="perm_read" eval="True"/>
        <field name="perm_write" eval="False"/>
        <field name="perm_unlink" eval="False"/>
        <field name="groups" eval="[(4, ref('appartment.group_appartment_staff'))]"/>
      </record>
    
    
    仅供员工阅读
    [(1,'=',1)]
    
    但用户仍然可以从员工组中创建、编辑、读取和删除记录


    我如何才能做到这一点。

    您应该给出只显示员工的正确域。当你把 您指示此组被禁止只读此记录的域

    
    仅供员工阅读
    [('partner_type','=','staff')]
    
    我认为使用csv(安全访问文件)可以轻松完成。 您可以直接从csv文件以及需要添加到openerp.py/清单.py文件中的该文件管理此类情况

    CSV文件示例

    id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
    access_res_partner,res_partner_user_access,model_res_partner,appartment.group_appartment_staff,1,0,0,0   
    access_manager_res_partner,res_partner_manager_access,model_res_partner,appartment.group_appartment_manager,1,1,1,1 
    
    规则

    规则用于在每个记录上应用条件 我一直在尝试访问

    访问控制列表

    ir.model.access/访问控制列表用于管理权限 (仅限模型访问用户是否可以读/写/创建/删除或 不)


    @切里夫·奥多已经解释了规则,这是访问控制列表。通过这两种方式,odoo可以管理证券。

    谢谢Emipro。但me要求是,集团
    员工
    应有权创建、编辑、删除和读取客户视图,但
    员工视图
    只能读取。这两个视图使用相同的代码<代码> RES.Outs<代码>。它将解释刚才所解释的相同的事情。Emipro,忘记组<代码>管理器< /> >,只考虑组<代码>工作人员< /代码>。根据您的回答,
    access list
    应该是
    access\u res\u partner,res\u partner,user\u access,model\u resu partner,appartment.集团公寓员工,1,0,0,0
    access\u resu partner,resu partner\u user\u access,model\u resu partner,appartment.集团公寓员工,1,1,1
    。可能吗?我想,这没什么意义。在规则中,您也会遇到问题,因为您希望在同一组中实现同一模型的不同行为。但是,您必须具有唯一的条件(组或任何其他字段)。