当前位置: 首页 > news >正文

如何在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.lryc.cn/news/539604.html

相关文章:

  • petalinux高版本设置自动登录和开机自启动配置
  • 操作系统2.4
  • Springboot + Ollama + IDEA + DeepSeek 搭建本地deepseek简单调用示例
  • 解析DrugBank数据库数据|Python
  • CUDA Toolkit 历史版本 cuda安装
  • Aseprite详细使用教程(12)——轮廓工具和多边形工具
  • macos sequoia 禁用 ctrl+enter 打开鼠标右键菜单功能
  • 分布式架构与XXL-JOB
  • leetcode day18 移除元素 26+283
  • 【HarmonyOS Next】鸿蒙监听手机按键
  • 用Deepseek查询快证API-物流查询-实名认证-企业实名认证
  • 一个简洁高效的Flask用户管理示例
  • 分布式之分布式ID
  • (萌新入门)如何从起步阶段开始学习STM32 —— 0.碎碎念
  • 边缘计算网关与 PLC:注塑机车间数据互联新变革
  • LeetCode刷题---哈希表---347
  • LED灯闪烁实验:实验介绍
  • 论文笔记(七十二)Reward Centering(一)
  • C#之上位机开发---------C#通信库及WPF的简单实践
  • 使用 pjsua2 开发呼叫机器人,批量拨打号码并播放固定音频
  • 从函数到神经网络
  • 用自定义注解实现Excel数据导入中的枚举值校验
  • 网络安全技术pat实验 网络安全 实验
  • 4、IP查找工具-Angry IP Scanner
  • 1018. 锤子剪刀布 (20)-PAT乙级真题
  • MyBatis 中 SqlMapConfig 配置文件详解
  • 复杂项目中的多级WBS应该如何分解?
  • 红蓝对抗之常见网络安全事件研判、了解网络安全设备、Webshell入侵检测
  • 使用 CodeMirror 6 实现插入文本及替换选中文本功能
  • Huatuo热更新--如何使用