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) 对象级别: 对某个 ...
随机推荐
- 从零开始搭建Prometheus自动监控报警系统
从零搭建Prometheus监控报警系统 什么是Prometheus? Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB).Prometheus使用Go语言开 ...
- DSAPI 导出EXEDLL函数到字符串
EXE或者DLL写好了,要开始写函数说明文档了,可是有时里面的函数太多,怎么能自动列出来呢?在DSAPI中提供了该功能(目前没有做参数类型导出,以后有时间会添加). 先准备一个已经写好的EXE或DLL ...
- 使用Golang搭建web服务
如何用golang搭建一个web服务呢?菜鸟官网的go web编程教程已经介绍了web服务器的工作原理,这里就不赘述了. 我们先看个例子:http.go package main import ( & ...
- nodejs异步转同步
项目在微信环境开发,需要获取access_token进行授权登录和获取用户信息. 特意把这块功能拿出来封装一个自定义module module.exports = new Wechat(con.app ...
- vuex的用法
https://segmentfault.com/a/1190000015782272
- Odoo薪酬管理 公式配置
薪酬计算的一般原理是:在基本工资的基础上,加上各种津贴,减去社保.公积金.个税等各种扣除项之后,得出最终的实发工资.此外,还要计算社保.公积金等公司应该承担的部分. 在同一公司中,针对不同的地区.不同 ...
- axis根据wsdl生成java客户端代码
根据wsdl生成java客户端代码有多个方法,其中使用axis生成的代码比较友好,也是经常用的一种方法.首先下载axis jar包:axis-bin-1_4.zip 官方地址:http://ws.Ap ...
- 云服务器内,nginx安装部署,Xshell,Xftp安装
nginx部署 三丰云云服务器,安装nginx nginx部署 在宝塔面板,添加Nginx安装,一般进来会默认推荐安装几款软件,mysql等,暂时可以后面再装,先把nginx装上去,去感受将前端页面放 ...
- Numpy库的学习(一)
今天来学习一下Python库中,支持高级大量的维度数组与矩阵运算的神奇的Numpy库 Numpy同时也对数组运算提供大量的数学函数,对于大量计算运行效率极好 是大量机器学习框架的基础库 废话不多说,直 ...
- First Show
随便写写,记录美好生活 博客的内容主要是关于java后台开发所涉及到技术栈的学习记录