odoo 记录集权限(二.记录规则)

本文深入探讨了Odoo中如何使用记录规则灵活设置权限,包括如何限制特定用户组的操作,如经理仅能删除取消状态的客户线索,以及如何控制用户对记录的访问,例如员工只能查看自己创建的记录。

记录规则

  • 通过记录规则可以灵活地设置权限。

  • 规则保存在ir.rule模型表里,需要设置关联某个模型,关联很多组,访问权限控制和domian。

  • 通过domain_force过滤出的一些记录来执行约束。

例子:经理只能删除状态为’cancel’的客户线索。注意向many2many字段添加值的写法。

<record  id="delete_cancelled_only"  model="ir.rule">
	<field name="name">Only cancelled leads may be deleted</field>
	<field name="model_id" ref="crm.model_crm_lead"/>
	<field name="groups" eval="[(4, ref('base.group_sale_manager'))]"/>
    	<field name="perm_read" eval="0"/>
    	<field name="perm_write" eval="0"/>
    	<field name="perm_create" eval="0"/>
    	<field name="perm_unlink" eval="1" />
	<field name="domain_force">[('state','=','cancel')]</field>
</record>

例子:只有经理可以编辑课程,如果没有经理,任何人都可以编辑

  • security.xml

      <record id="group_manager" model="res.groups">
          <field name="name">todufiledu / 管理员</field>
      </record>
    
      <record id="only_responsible_can_modify" model="ir.rule">
          <field name="name">只有经理可以编辑</field>
          <field name="model_id" ref="model_todo_file"/>
          <field name="groups" eval="[(4, ref('todufiledu.group_manager'))]"/>
          <field name="perm_read" eval="0"/>
          <field name="perm_write" eval="1"/>
          <field name="perm_create" eval="0"/>
          <field name="perm_unlink" eval="1"/>
          <field name="domain_force">
              ['|', ('responsible_id','=',False),
                    ('responsible_id','=',user.id)]
          </field>
      </record>
    
odoo设置员工能看自己新建的记录规则 经理能看所有记录的规则
  • 增加2个组

  • 组1 能看全部记录

  • 组2 增加只能看自己的记录


  • 增加一个经理能看所有记录的规则

  • 关联模型 res.partner

  • 规则填入 [(1,’=’,1)]

  • 组加入 全部记录组


  • 增加一个员工能看自己记录的规则

  • 关联模型 res.partner

  • 规则 [’|’,(‘user_id’,’=’,user.id),(‘id’,’=’,user.partner_id.id)]

  • 组加入 只能看自己记录组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值