其他分享
首页 > 其他分享> > odoo 权限设置

odoo 权限设置

作者:互联网

简介

权限也是一个绕不开的东西,除非你做只有一个人用的系统,数据出问题,全赖他。

一:权限组

一般定义在/security/****.xml

会在用户设置中表现为下拉框或者多选框来为用户分配权限组。

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="0">

        <record id="权限组id" model="ir.module.category">
            <field name="name">XXX权限组</field>
            <field name="description">XXX模块权限设置</field>
        </record>

    </data>
</odoo>

 

二:表权限

一般定义在security/****.csv

id ,name      ,model_id:id                ,group_id:id                           ,perm_read,perm_write,perm_create,perm_unlink
UID,AccessName,model_ProjectName_ModelName,ProjectName.group_ProjectName_employee,1        ,1         ,1          ,1

id,随便写

name,随便写

model_id,固定格式   model_表名,todo.task对应该标识符是model_todo_task

group_id,权限组id,

read 读权限

write 写权限

create 创建权限

unlink 删除权限

1是允许,0是禁止

 

三:记录权限

一般定义在/security/****.xml,我都和权限组写一起了

<?xml version="1.0" encoding="utf-8"?>
<odoo>    
        <record id="模块名_对象_rule" model="ir.rule"> //为某对象添加记录规则
            <field name="name">规则名</field>
            <field name="model_id" ref="model_模块名"/>
            <field name="domain_force">[('字段名','操作符',值)]</field> //记录过滤表达式:符合该表达式的记录才能被访问
            <field name="groups" eval="[(值,ref('权限组id'))]"/> //权限组id在权限组创建时指定,用于指定本规则作用于哪些组
            <field name="perm_read" eval="0/1"/>
            <field name="perm_write" eval="0/1"/>
            <field name="perm_create" eval="0/1"/>
            <field name="perm_unlink" eval="0/1" />
</record> </odoo>

 

四:字段权限

 

    Odoo可以设置具体字段的访问权限,包括可见性、写、改权限等。

    有两种方式:

  一种是在模型定义的代码中,通过某字段的read=[群组]、write=[群组]属性,指定字段对于哪些群组可读写。

  另一种是在模型的视图xml文件中,对字段通过 groups属性指定访问权限。

五:菜单报表权限

Odoo可以设置菜单项、某些报表的可见性,通过在xml文件中,对应的menu标签、report标签的groups属性来定义。

 

六:工作流权限

工作流中的活动可以设置操作权限,规定只有哪些群组的用户才可以操作。

 

 

标签:xml,群组,perm,设置,odoo,model,权限,id
来源: https://www.cnblogs.com/jackadam/p/16513819.html