2

Odoo访问权限一

四个ODOO权限管理层次

  • 一. Odoo 菜单级别: 即,不属于指定菜单所包含组的用户看不到该菜单。不安全,只是隐藏菜单,若用户知道菜单ID,仍然可以通过指定URL访问
  • 二. Odoo 对象级别: 即,对某个对象是否有‘创建,读取,修改,删除“的权限。OE中的对象可以简单理解为表对象,比如“客户”,“产品”,“销售订单”等都是对象
  • 三. Odoo 记录级别: 即,对对象表中的数据的访问权限。比如同样访问“客户”对象,业务员只能对自己创建的客户有访问的权限,而经理可以访问其所辖的业务员的所有“客户”对象,这里的访问也可以进一步明细到“创建,读取,修改,删除”的权限
  • 四. 字段级别: 即,一个对象或表上的某些字段的访问权限。比如产品的成本字段只有经理有读权限,比如订单上的单价字段只有经理才有修改的权限等。

本章节介绍一二层次的权限

在security文件夹下新建两个文件夹

  • model_security.xml
  • ir.model.access.csv

用户组实例

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="0">
        <record model="ir.module.category" id="module_category_activity">
            <field name="name"> 活动管理 </field>
        </record>
        <record model="res.groups" id="group_activity_user">
            <field name="name"> 用户 </field>
            <field name="category_id" ref="module_category_activity"/>
        </record>
        <record model="res.groups" id="group_activity_manager">
            <field name="name"> 管理 </field>
            <field name="implied_ids" eval="[(4, ref('group_activity_user'))]"/>
            <field name="category_id" ref="module_category_activity"/>
        </record>
    </data>
</odoo>

权限分配实例

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink

access_activity_event_user,读权限,model_activity_event,group_activity_user,1,0,0,0
access_activity_event_system_user,管理权限,model_activity_event,group_activity_manager,1,1,1,1

access_activity_type_user,分类读权限,model_activity_type,group_activity_user,1,0,0,0
access_activity_type_system_user,分类管理权限,model_activity_type,group_activity_manager,1,1,1,1
  • id: 可以自定义,不能重复
  • name: 自定义就可以
  • model_id:id: model_模型名称。注意,这里要把“.”全部换成“_”,否则会报错。
  • perm_read:读权限。有权限写‘1’,没权限写‘0’
  • perm_write: 编辑权限。有权限写‘1’,没权限写‘0’
  • perm_create: 创建权限。有权限写‘1’,没权限写‘0’
  • perm_unlink: 删除权限。有权限写‘1’,没权限写‘0’

重点注意

  • 要在__manifest__.py文件中引入以上新建的两个文件

    always loaded

    'data': [

    'security/activity_security.xml',
    'security/ir.model.access.csv',
    'views/views.xml',
    'views/templates.xml',
    'views/menus.xml',
    'data/activity_data.xml',

    ],

  • 最后安装或升级项目模块就可以试试效果了

玄机
35 声望12 粉丝

希望来这里认识更多志同道合的朋友,大家一起交流学习!


引用和评论

0 条评论