跳转到主要内容

跟踪更改集记录

项目描述

Alpha License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

此模块扩展了记录的功能。它允许创建更改集,当修改记录时,必须对其进行验证,而不是直接修改。规则允许配置哪些字段必须进行验证。

什么是更改集

更改集是在记录上所做的更改列表。

其中一些更改可能是“待定”,一些是“已接受”或“已拒绝”,具体取决于更改集规则。待定更改需要审批用户的交互:只有在该更改获得批准后,其值才会写入记录。

目录

配置

访问权限

更改集规则必须由具有“更改集配置”组的用户编辑。只有具有“更改集验证”组的用户才能应用或取消更改集。

更改集规则

可以在“配置 > 记录更改集 > 字段规则”中配置更改集规则。

  • 规则配置

    https://raw.githubusercontent.com/OCA/server-tools/16.0/base_changeset/static/src/img/rules.png

对于每个记录字段,可以定义一个操作

  • 自动:此字段上所做的更改始终应用

  • 验证:对此字段所做的更改必须由“更改集用户”手动确认

  • 永远不:对此字段所做的更改始终拒绝

无论如何,用户所做的所有更改都会直接应用于用户,但为了历史记录,会创建一个“已验证”的更改集。

支持的字段包括

  • 字符

  • 文本

  • 日期

  • 日期时间

  • 整数

  • 浮点数

  • 货币

  • 布尔值

  • 多对一

规则可以是全局的(没有源模型)或由源模型配置。源模型规则具有优先级。如果一个字段没有为源模型配置,它将使用全局规则(如果存在)。

如果一个字段没有规则,它将不带更改集直接写入记录。

用法

更改集规则

第一步是配置更改集规则。一旦完成,对记录的写入将作为更改集创建。

处理更改集

所有更改集的列表在 配置 > 记录更改集 > 更改集 中。

默认情况下,仅显示待验证的更改集(等待验证)。移除“待处理”过滤器以显示所有更改集。

  • 等待验证的更改集

    https://raw.githubusercontent.com/OCA/server-tools/16.0/base_changeset/static/src/img/changeset.png

更改视图显示了记录字段的名称、原始值和新值以及更改的状态。在某些情况下,点击更改会显示更详细的信息,例如,可以点击关系链接。

更改集上的按钮允许一次性应用或拒绝所有更改。

处理单个更改

访问更改集可以查看所有更改的全面概述。然而,直接从记录访问单个更改会更方便。如果一个字段有挂起的更改,你将看到一个带有挂起更改数的徽章,如下所示

  • 带有挂起更改数的徽章

    https://raw.githubusercontent.com/OCA/server-tools/16.0/base_changeset/static/src/img/badge.png

当你点击它时

  • 点击徽章:红色按钮表示拒绝,绿色按钮表示应用

    https://raw.githubusercontent.com/OCA/server-tools/16.0/base_changeset/static/src/img/badge_click.png

点击红色按钮以拒绝更改,点击绿色按钮以应用更改。

在您的扩展中自定义源规则

希望使用自己的规则创建更改集的扩展应该在写入记录时传递以下键

  • __changeset_rules_source_model:请求更改的模型的名称

  • __changeset_rules_source_id:请求更改的记录的ID

此外,它们应该扩展 ChangesetFieldRule._domain_source_models 中的选择,以添加它们的模型(与 __changeset_rules_source_model 中传递的相同)。

源用于应用规则,允许为不同的源使用不同的规则。它也存储在更改集中以供信息。

关于安全性的说明

请注意,默认情况下,更改集用户可以看到所有配置规则的更改。这绕过了原始记录的读取限制,因此如果您对具有更改集规则的模型有读取限制,更改集用户仍然会看到所有记录的所有更改,并且对不可访问的记录应用更改将失败。

已知问题/路线图

  • 实际支持的字段类型仅是一小部分

  • 多公司支持不完整

  • 表示挂起更改数的弹出小部件目前不会显示在未带有标签的字段上。该方法已在15.0中失败(对于内联字段,如合作伙伴地址字段)并且甚至在14.0中失败(对于尚未设置值的字段)。或者,为了更灵活的方法,实现一种类型的视图预处理,允许开发人员指示小部件需要放置的位置(类似于 <label for="field_name" />)。

错误追踪器

错误追踪在GitHub Issues上。如果有问题,请检查您的问题是否已经被报告。如果您是第一个发现它的人,请通过提供详细且受欢迎的反馈来帮助我们解决问题。

请不要直接联系贡献者以寻求支持或技术问题的帮助。

致谢

作者

  • Onestein

  • Camptocamp

贡献者

维护者

本模块由OCA维护。

Odoo Community Association

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。

当前维护者

astirpe

本模块是GitHub上的OCA/server-tools项目的一部分。

欢迎您贡献。要了解如何贡献,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

本发行版没有可用的源代码分发文件。请参阅生成分发存档的教程

构建分发

odoo_addon_base_changeset-16.0.1.0.0.13-py3-none-any.whl (315.3 kB 查看哈希值)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面