odoo 权限问题
odoo 权限问题
权限组问题
权限组是为了将人员按组划分同一分配权限。权限组的建立是基于每个应用来实现的
- 建立一个应用的分组(可省略,主要用于创建用户时有选择项)
 
建立一条record记录model是ir.module.category,例如在my_task(一个应用)myaddons/my_task/security/permission.xml中编写下面内容:
<record id="module_category_my_task" model="ir.module.category">
            <field name="name">我的任务</field>
            <field name="description">我的任务app</field>
            <field name="sequence">1</field>
</record>

- 创建2个分组.
 
<odoo>
    <data>
        <record id="module_category_my_task" model="ir.module.category">
            <field name="name">我的任务</field>
            <field name="description">我的任务app</field>
            <field name="sequence">1</field>
        </record>
        <!--创建应用权限分组-->
        <record id="my_task_manage" model="res.groups">
            <field name="name">管理员</field>
            <!--category_id关联的应用权限分类-->
            <field name="category_id" ref="module_category_my_task"/>
            <!--默认加入权限组的用户,base.user_root指系统管理员用户-->
            <field name="users" eval="[(4, ref('base.user_root'))]"/>
        </record>
      <!--员工组-->
        <record id="my_task_employee" model="res.groups">
            <field name="name">员工</field>
            <!--category_id关联的应用权限分类-->
            <field name="category_id" ref="module_category_my_task"/>
        </record>
    </data>
</odoo>
- 给分组添加权限
 
添加权限通常在security下的ir.model.access.csv
- 继承权限
 
<!--员工组-->
        <record id="my_task_employee" model="res.groups">
            <field name="name">员工</field>
            <!--category_id关联的应用权限分类-->
            <field name="category_id" ref="module_category_my_task"/>
            <!--继承基础员工组,添加的员工会自动添加到基础员工中去-->
            <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
        </record>
- 增加预设用户
 
<field name="users" eval="[(4, ref('base.user_root'))]"/>
name 组的描述名称
category_id 指定此组属于哪个应用程序(模块)
users 指定了组里面的用户,这里表示把admin用户添加到该组
eval 解析(4,ID)添加主从链接关系到id=ID的对象。(3,ID)去除和id=ID的对象主从链接关系,但是不删除这个对象(2,ID) 去除和id=ID的对象主从链接关系,并且删除这个对象(调用unlink方法)(5) 去除所有的链接关系,也就是循环所有的从数据且调用(3,ID)(6,0,[IDs]) 用IDs里面的记录替换原来链接的记录,即先执行(5)再循环IDs执行(4,ID)
记录权限(record_rule)
<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data noupdate="0">
        <!-- Sequences for sale.order -->
        <record id="wf_sale.sale_order_rule" model="ir.rule">
            <field name="name">销售员工访问</field>
            <!--model_id  ref,many2one到模型的id,model_表名-->
            <field name="model_id" ref="model_wf_sale_sale_order"/>
            <!--domain_force过滤条件,订单销售人id是当前登录用户的id,或者没销售的订单-->
            <field name="domain_force">['|',('sale_people','=',user.id),('sale_people','=',False)]</field>
            <!--指定是哪个组-->
            <field name="groups" eval="[(4,ref('wf_sale.wf_sale_employee'))]"/>
        </record>
        <record id="wf_sale.sale_order_manage_rule" model="ir.rule">
            <field name="name">销售经理访问</field>
            <field name="model_id" ref="model_wf_sale_sale_order"/>
            <field name="domain_force">[(1,'=',1)]</field>
            <field name="groups" eval="[(4,ref('wf_sale.wf_sale_manage'))]"/>
        </record>
    </data>
</odoo>
参数介绍
- name:记录规则名称,可随意定义
 - model_id:添加记录规则得model,写法:模块名.model_表名(表名有.需要换成_),内部使用可以加模块名
 - domain_force:记录过滤条件
 - groups:绑定权限生效的组
 
按钮权限
<button string="回退报价单"
        type='object'
        class='oe_highlight'
        name="action_roll_back"
				groups="wf_sale.wf_sale_manage"
        attrs = "{'invisible':[('state','=','draft')]}"
/>
<button
        string="生成销售单"
        type="object"
        class='oe_highlight'
        name="action_commit_order"
        groups="wf_sale.wf_sale_manage"
        attrs = "{'invisible':[('state','=','approved')]}"
/>
<button string="确定完成"
        type="object"
        class='oe_highlight'
        name='action_commit_done'
				groups="wf_sale.wf_sale_manage"
        attrs = "{'invisible':[('state','=','done')]}"
/>
通过groups指定权限组id(需要加上模块名)来绑定拥有权限的组,这样只有有权限的人才能看到按钮,并且通过销售的状态来决定是否显示按钮
odoo 权限问题的更多相关文章
- ODOO权限管理,在两个方面设置权限
		
转载参考https://zhuanlan.zhihu.com/p/29130388 在odoo中新建两个用户user1,user2 新建用户 建完了用户,记得编辑用户,设置密码. 然后以user1用户 ...
 - odoo权限配置讲解2
		
今天我们在来讲解一下odoo中配合使用公司开发的权限配置模块,简单配置odoo权限的操作说明 接着上篇讲到的,昨天我们只是做了一个简单的表单模型的筛选规则 今天来讲解一下如何在创建内贸报价单的时候,在 ...
 - odoo 权限配置讲解
		
今天来讲解一下odoo权限配置的简单讲解,配合公司开发的权限模块的使用,进行odoo权限配置的说明 BaseSecurityExtend 2.0模块 这是公司自主开发的一款针对odoo菜单级别进行可视 ...
 - odoo权限机制
		
转两篇关于权限的2篇文章,加深这方面的认识.注:后面附有原作者地址,希望不构成侵权. 第一篇:http://www.cnblogs.com/dancesir/p/6994030.html Odoo的权 ...
 - odoo权限管理
		
Odoo的权限的核心是权限组(res_groups).对每个权限组,可以设置权限组的菜单表示,对象表示,记录规则表示,字段表示. 1.菜单/对象级别 设置哪些人可以访问哪些菜单/对象,对象的访问权限包 ...
 - odoo权限管理(二.记录管理)
		
规则保存在ir.rule模型表里,需要设置关联某个模型,关联很多组,访问权限控制和domian. 通过domain_force过滤出的一些记录来执行约束. 例子:经理只能删除状态为'cancel'的客 ...
 - Odoo权限控制
		
转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9278734.html 一:Odoo中的权限设置主要有以下5种 1)菜单.报表的访问权限 Odoo可以设置菜单项 ...
 - Odoo权限控制详解
		
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826105.html 一:Odoo中的权限设置主要有以下5种 1)菜单.报表的访问权限 Odoo可以设置菜 ...
 - odoo开发笔记 -- odoo权限管理
		
odoo框架 整体权限可以分为4个级别: (1) 菜单级别: 不属于指定菜单所包含组的用,看不到相应菜单.不安全,只是隐藏菜单,若用户知道菜单ID,仍然可以通过指定URL访问(2) 对象级别: 对某个 ...
 
随机推荐
- 关于px,分辨率,ppi的辨析
			
概述 在本篇文章的开始,我先为大家解释一下这三个名词的概念. px全称为pixel--像素.pc及移动设备的屏幕就是通过往像素矩阵中填充颜色,从而在宏观上体现出图像.像素越小,图像越清晰. 分辨 ...
 - asp.net 仿微信端菜单设置
			
第一步:添加引用文件 <link rel="stylesheet" href="~/assets/css/bootstrap.min.css"> & ...
 - 前端面试知识点集锦(JavaScript篇)
			
目录 1.谈谈你对Ajax的理解?(概念.特点.作用) 2.说说你对延迟对象deferred的理解? 3.什么是跨域,如何实现跨域访问? 4.为什么要使用模板引擎? 5.JavaScript是一门什么 ...
 - 每天五分钟-javascript数据类型
			
javascript数据类型分为基本数据类型与复杂数据类型 基本数据类型包括:string,number,boolean,null,undefined,symbol(es6) 复杂数据类型包括:obj ...
 - 解决laravel Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found 错误
			
这个错误的原因来自于没有安装一个依赖库: 官方文档说明如下: Modifying Columns Prerequisites Before modifying a column, be sure to ...
 - Unity 2D  效应器与来回移动的实现
			
1.效应器 Point Effector 2D: 点效应器.进入区域,吸引或排斥物体 Area Effector 2D: 区域效应器,可以用来做马里奥的管道移动效果 Surface Effector ...
 - 阿里云服务器部署Java Web项目全过程
			
最近需要将一个Java Web项目部署到服务器上,方便多人共享访问.这也是我第一次接触服务器之类的东西,也花了一点时间,最终总算部署成功,写下一篇文章记录以便日后回顾. 购买服务器 第一步当然是需要购 ...
 - java class反编译工具----JD-GUI
			
下载地址 http://jd.benow.ca/
 - [转]Lua和Lua JIT及优化指南
			
一.什么是lua&luaJit lua(www.lua.org)其实就是为了嵌入其它应用程序而开发的一个脚本语言, luajit(www.luajit.org)是lua的一个Just-In-T ...
 - windows压缩图片