ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

odoo的权限管理

2021-08-06 21:34:04  阅读:199  来源: 互联网

标签:管理 perm record epidemic odoo model 权限 id


 

 xml的内容编写

<?xml version="1.0" encoding="UTF-8" ?>

<odoo>
<!--    基于表的权限控制-->
    <data>

        <record model="ir.module.category" id="epidemic_record.module_category">
            <field name="name">疫情记录</field>
            <field name="description">疫情记录</field>
        </record>

        <record id="epidemic_record_table_security_base" model="res.groups">
<!--            归属于哪个标签-->
            <field name="category_id" ref="epidemic_record.module_category"/>
            <field name="name">初级权限</field>
<!--            基于哪个用户组进行控制:base.group_user这几个是最基础的用户组-->
            <field name="implied_ids" eval="[(4,ref('base.group_user'))]"/>
            <field name="comment">疫情记录初级权限可以查看辅助填报人或者填报人包含当前登录账户的记录</field>
<!--            这里赋予指定用户权限-->
            <field name="users" eval="[(4,ref('base.user_root')),(4,ref('base.user_admin'))]"/>
        </record>


        <record id="epidemic_record_table_security_admin" model="res.groups">
            <field name="category_id" ref="epidemic_record.module_category"/>
            <field name="name">管理员</field>
            <field name="implied_ids" eval="[(4,ref('base.group_user'))]"/>
            <field name="comment">管理员拥有所有权限</field>
            <field name="users" eval="[(4,ref('base.user_root')),(4,ref('base.user_admin'))]"/>
        </record>

    </data>

<!--    记录的权限控制-->
<!--
    noupdate="1"的作用是只会在安装模块的时候才会创建一次权限记录,在升级或者更新的时候不会在次创建防止替换已修改的权限记录
    noupdate="0"不管是安装还是更新都会创建权限记录
-->
    <data noupdate="1">
        <record id="epidemic_record_row_security_base" model="ir.rule">
            <field name="name">疫情初级记录权限</field>
<!--            model_模型名称(注意把“.”全部换成“_”,否则会报错)-->
            <field name="model_id" ref="model_epidemic_record"/>
            <field name="domain_force">['|',('fuzhu_create_user_id','child_of',[user.id]),('create_user_id','=',user.id)]</field>
            <field name="groups" eval="[(4,ref('epidemic_record_table_security_base'))]"/>
            <field name="perm_read" eval="True"/>
            <field name="perm_write" eval="False"/>
            <field name="perm_create" eval="False"/>
            <field name="perm_unlink" eval="False"/>
        </record>

    </data>


</odoo>

csv的内容编写

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
epidemic_record_base,epidemic_record_base,model_epidemic_record,epidemic_record_table_security_base,1,0,0,0
epidemic_record_admin,epidemic_record_admin,model_epidemic_record,epidemic_record_table_security_admin,1,1,1,1
id:权限ID,自定义,不能重复
name:权限名称,自定义
model_id:id:model_模型名称(注意把“.”全部换成“_”,否则会报错)
group_id:id 组名称 (模块.用户组名)
perm_read:读权限,1表示有权限,0表示没有权限
perm_write:写权限,1表示有权限,0表示没有权限
perm_create:新建权限,1表示有权限,0表示没有权限perm_unlink:删除权限,1表示有权限,0表示没有权限

菜单权限

<!--    菜单配置
    groups 哪些用户可以拥有这个菜单的权限,可以有多个用","分割
    -->

    <menuitem name="疫情记录"
              id="sec_epidemic_record_menu"
              parent="epidemic_record_menu_root"
              action="epidemic_record_act_window"
              sequence="10"
              groups="epidemic_record_table_security_admin,epidemic_record_table_security_base"
    />

字段权限

<!--                            groups 哪些用户可以拥有这个菜单的权限,可以有多个用","分割-->
                            <field name="note" groups="epidemic_record_table_security_admin,epidemic_record_table_security_base"/>
                        

 

标签:管理,perm,record,epidemic,odoo,model,权限,id
来源: https://www.cnblogs.com/wtil/p/15110392.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有