如何在Odoo 18中创建记录规则Rule

如何在Odoo 18中创建记录规则Rule

记录规则是管理访问控制的关键,它能让你依据用户角色,定义谁可以在系统内查看、创建或修改特定记录。例如,公司中的普通员工只能查看或修改与与自己直接相关的数据,而经理则有权限访问和编辑所有记录。这种访问控制级别是通过记录规则实现的。
记录规则提供了四种访问模式:CREATE(创建)、READ(读取)、WRITE(写入)和DELETE(删除)。
·CREATE(创建):授予添加新记录的权限,
·READ(读取):允许用户查看记录,
·WRITE(写入):允许修改记录,
·DELETE(删除):允许删除记录。

通过在记录规则中指定这些访问模式,我们可以控制用户对模型中记录的操作。

以下是创建记录规则的示例:

<?xml version="1.0" encoding="UTF-8"?>
<odoo noupdate="1"><record id="custom_record_rule" model="ir.rule"><field name="name">用户只能查看自己的记录</field><field ref="sale.model_sale_order" name="model_id"/><field name="domain_force">[('create_uid', '=', user.id)]</field><field name="groups" eval="[(4, ref('base.group_user'))]"/><field name="perm_read" eval="True"/><field name="perm_write" eval="False"/><field name="perm_create" eval="False"/><field name="perm_unlink" eval="False"/><field name="active" eval="False"/>
</record>
</odoo>

在这个示例中,我们定义了一个 ID 为custom_record_rule的记录规则。name字段给出了该规则的可读描述,model_id字段则指定了规则所应用的特定模型。此处,规则应用于sale_order模型。
domain_force字段定义了记录规则的条件。将域设置为[(‘create_uid’, ‘=’, user.id)],这样就能确保用户只能访问自己创建的记录。
groups字段决定了哪些用户组有权使用该记录规则。在此示例中,base.group_user组中的用户被授予访问权限。perm_read、perm_write、perm_create和perm_unlink字段定义了对记录允许的操作。在这里,用户只能读取记录,无法创建、修改或删除记录。最后,active字段表示该规则是否启用,若设置为False,则该规则不会生效。
noupdate="1"是一个用于模型字段的属性,用于指示在模块更新期间不更新该字段。noupdate="1"的作用是防止在模块更新时对该字段进行更改。
定义好记录规则后,我们可以将此文件放入模块的security文件夹中,并在__manifest__.py (清单文件)中引用该文件。
在这里插入图片描述

创建的规则可以在 “设置”→“技术”→“记录规则” 中查看。

在这里插入图片描述

然后,我们就能在这个树形视图中看到自己创建的记录规则。
在这里插入图片描述

注意:如果升级模块后未找到自己创建的记录规则,可以在归档的记录规则中查找。
在这里插入图片描述

此外,我们也可以直接在此处点击 “新建” 按钮来创建记录规则。
在这里插入图片描述

总结

Odoo中的记录规则提供了一种有效的机制,通过控制用户在系统中可以查看、编辑或删除的内容来管理数据访问。通过基于角色和条件设置规则,企业可以确保敏感信息得到保护,同时为特定用户提供适当的访问权限。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/70214.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea 2019.3常用插件

idea 2019.3常用插件 文档 idea 2019.3常用插件idea 2023.3.7常用插件 idea 2019.3常用插件 插件名称插件版本说明1AceJump3.5.9AceJump允许您快速将插入符号导航到编辑器中可见的任何位置。只需按“ctrl&#xff1b;”&#xff0c;键入一个字符&#xff0c;然后在Ace Jump…

Windows网络安全基础

随着互联网的发展和普及&#xff0c;Windows网络安全问题愈发严重。在本文中&#xff0c;我们将会介绍Windows网络安全的基本概念&#xff0c;包括网络攻击类型、网络安全威胁、网络安全防御措施等等&#xff0c;帮助初学者更好地了解Windows网络安全。 一、网络攻击类型 网络…

大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(1)

大数据组件(四)快速入门实时数据湖存储系统Apache Paimon(1) Apache Paimon 是一项流式数据湖存储技术&#xff0c;可以为用户提供高吞吐、低延迟的数据摄入、流式订阅以及实时查询能力。 读/写&#xff1a;Paimon 支持多种读/写数据和执行 OLAP 查询的方式。 对于读取&#x…

Node.js 中 cookie-parser 依赖详解

解析 HTTP 请求中的 Cookie 的 Node.js 中间件 一、安装 npm install cookie-parser 二、基本使用 const express require("express");const cookieParser require("cookie-parser");const app express();// 使用 cookie-parser 中间件app.use(cook…

Linux入侵检查流程

1. 初步信息收集 1.1 系统信息 • 目的&#xff1a;了解当前系统的基本情况&#xff0c;包括操作系统版本、内核版本等。 • 命令&#xff1a; cat /etc/redhat-release 1.2 网络信息 目的&#xff1a;查看网络连接状态、开放端口以及防火墙规则&#xff0c;排查异常网络活…

Elasticsearch 混合搜索 - Hybrid Search

作者&#xff1a;来自 Elastic Valentin Crettaz 了解混合搜索、Elasticsearch 支持的混合搜索查询类型以及如何制作它们。 本文是三篇系列文章中的最后一篇&#xff0c;深入探讨了向量搜索&#xff08;又称语义搜索&#xff09;的复杂性以及它在 Elasticsearch 中的实现方式。…

本地客户端调用火山方舟 DeepSeek R1API教程

本地第三方AI聊天机器人客户端调用 DeepSeek R1&#xff0c;目前火山云 DeepSeek R1 API 目前测试下高速推理速度&#xff0c;不卡顿&#xff0c;联网搜索能力&#xff0c;可以访问更多联网信息50万免费 tokens&#xff0c;超出后全网最低价。 目录 一、火山方舟 DeepSeek R1A…

华为最新OD机试真题-通过软盘拷贝文件-Python-OD统一考试(E卷)

最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 题目描述 有一名 科学家只 想要从一台古董电脑中拷贝文件到自己的电脑中加以研究。 但此电脑除了有一个3.5寸软盘驱动器以外,没有任何手段可以将文件持贝出来,而且只有一张软盘…

第四十三篇——零和博弈(鞍点理论):如何找到双方的平衡点?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 这篇文章再读依然茅塞顿开&#xff1b;有很多需要自己去吸收的东西&#…

ESP32 ESP-IDF TFT-LCD(ST7735 128x160)自定义组件驱动显示

ESP32 ESP-IDF TFT-LCD(ST7735 128x160)自定义组件驱动显示 &#x1f33f;驱动参考来源&#xff1a;https://blog.csdn.net/weixin_59250390/article/details/142691848&#x1f4cd;个人相关驱动内容文章&#xff1a;《ESP32 ESP-IDF TFT-LCD(ST7735 128x160) LVGL基本配置和使…

请解释一下Standford Alpaca格式、sharegpt数据格式-------deepseek问答记录

1 Standford Alpaca格式 json格式数据。Stanford Alpaca 格式是一种用于训练和评估自然语言处理&#xff08;NLP&#xff09;模型的数据格式&#xff0c;特别是在指令跟随任务中。它由斯坦福大学的研究团队开发&#xff0c;旨在帮助模型理解和执行自然语言指令。以下是该格式的…

数据治理中 大数据处理一般都遵循哪些原则

在数据治理中&#xff0c;大数据处理通常遵循以下原则&#xff1a; 最小化原则&#xff1a;企业应只收集实现特定目的所需的数据&#xff0c;避免数据冗余和安全风险。 合法性原则&#xff1a;企业必须遵守相关法律法规&#xff0c;确保数据处理符合法律要求&#xff0c;降低法…

Python 基础-使用dict和set

dict Python内置了字典&#xff1a;dict的支持&#xff0c;dict全称dictionary&#xff0c;在其他语言中也称为map&#xff0c;使用键-值&#xff08;key-value&#xff09;存储&#xff0c;具有极快的查找速度。 举个例子&#xff0c;假设要根据同学的名字查找对应的成绩&am…

《模式和状态管理》知识总结

一、ECUM 1.1 缩略语 我在这里列出的一些名词的含义只是我在学习过程中自己并不知晓的名词&#xff0c;有其他不会的名词可以自行阅读文档。&#xff08;会读文档真嘟很重要&#xff09; Callback&#xff1a;回调函数&#xff0c;由高级的模块提供&#xff0c;由低级的模块…

基于语音的阿尔茨海默病检测识别

摘要 阿尔茨海默病 &#xff08;AD&#xff09; 是一种进行性神经退行性疾病&#xff0c;会严重损害认知功能&#xff0c;导致记忆力减退和其他行为改变。它是全球第七大死因&#xff0c;有数百万人受到影响。早期准确检测 AD 对于改善患者预后和减缓疾病进展至关重要。机器学习…

Bom详解和Dom详解

Javascript的数据类型 1.BOM(浏览器对象模型)1.1window对象(1)全局作用域&#xff1a;(2)窗口属性&#xff1a;(3)弹窗和对话框&#xff1a;(4)定时器&#xff1a;(5)导航和历史&#xff1a;(6)打开和关闭窗口&#xff1a; 1.2navigator对象(1)浏览器信息属性&#xff1a;(2)浏…

openharmony中HDF驱动框架关键流程说明-观察者模式

在分析openharmony 5.0的HDF驱动框架时我们会发现用了很多面向对象的思想&#xff0c;例如类继承、接口、单例类等&#xff0c;本来应该是好事情&#xff0c;但使用时对象之间的关系交错复杂&#xff0c;不太符合linux内核分层分模块的思路&#xff0c;导致整体理解起来比较困难…

深度学习框架及其常用模型文件保存格式

在深度学习领域&#xff0c;不同的框架有各自常用的模型文件保存格式。了解这些格式对于模型的训练、保存、部署和分享都非常重要。下面将详细介绍几种常见深度学习框架及其对应的模型文件保存格式。 1. PyTorch 框架 1.1 文件格式 .pt .pth 1.2 说明 这两种文件格式本质上…

Java字符串到底能有多长

文章目录 编译期运行期实际开发建议总结编译期 在编写代码时,直接写在代码里的字符串(硬编码字符串)有一个长度限制。具体来说,字符串的最大长度不能超过65534个字符。如果超过这个限制,编译器会报错。 当你在代码里直接写字符串时: String text = "我是一个很长很…

blender骨骼分层问题:某一层的骨骼怎么移动到第一层

一、原生Blender骨骼分层操作方法 1. 进入姿态模式 按A选中骨骼 →按M →鼠标左键点击相应骨骼层 注意&#xff1a;Blender原生界面中&#xff0c;骨骼层是通过姿态模式下的快捷键M勾选框直接控制的&#xff0c;每个勾选框对应一个层&#xff08;共32层&#xff09;。移动骨…