• 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)]

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

  • 相关阅读:
    SQL Server将一列的多行内容拼接成一行的问题讨论
    SQL 获取 IDENTITY 三种方法 SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别
    构建高性能服务(二)
    乐观锁解决高并发
    c#问答篇:对象与引用变量-----初学者的困惑
    vs调试 本地IIS
    【转】android adb常用指令
    【转】使用 JMeter 完成常用的压力测试
    【转】利用 Apache JMeter 测试 WebSphere 性能
    【转】用JMeter来测试Tomcat的性能
  • 原文地址:https://www.cnblogs.com/chenshuquan/p/10530224.html
Copyright © 2020-2023  润新知