Odoo 规则实际上运行正常吗?

2023-12-11

我的目的

我试图使用安全规则来实现以下目的:

我需要在用户模型中添加一个字段,该字段将设置每个用户可以修改哪些仓库。这是因为我想隐藏您不允许看到的库存变动(其他仓库的库存变动)。

我做了什么

我创建了一个多对多字段命名allowed_warehouses in res.users模型。从这里,管理员可以选择每个用户可以使用哪些仓库。

然后,我利用Odoo现有的领域,stock.move模型有一个Many2one字段命名picking_type_id, 指向stock.picking.type模型。和stock.picking.type模型有一个Many2one字段命名warehouse_id, 指向stock.warehouse.

所以这条规则在理论上很简单:

<record model="ir.rule" id="poc_stock_move_allowed_warehouses">
    <field name="name">stock.move: interaction only allowed if warehouse matches</field>
    <field name="model_id" ref="stock.model_stock_move"/>
    <field name="domain_force">[('picking_type_id.warehouse_id', 'in', user.allowed_warehouses.mapped('id'))]</field>
    <field name="perm_read" eval="True"/>
    <field name="perm_write" eval="True"/>
    <field name="perm_create" eval="True"/>
    <field name="perm_unlink" eval="True"/>
</record>

有了这条规则,我希望用户只能看到他们允许的仓库的库存变动。

结果

一切都几乎正常,我说几乎是因为一些奇怪的事情正在破坏所有的开发。例如,我可以使用所有仓库,并且我通过一个库存移动创建一个新的拣选,此移动具有产品A。我保存了,一切都很顺利。但如果我做完全相同的事情但选择产品B相反,我在单击后立即出现访问错误Save按钮,所以我再也看不到那个选择的动作了。看来这个举动对我来说是被禁止的(尽管我应该看到它),但事实并非如此!如果我去其他视图中寻找这个动作(例如在可追溯性 > 库存变动菜单),我可以在树视图中看到移动,并打开其表单视图,没有错误!如果我修改 PostgreSQL 中的移动并替换产品B with 产品A,我可以从提货视图中看到移动...当然,如果我删除规则并重新启动服务,我可以在提货视图中看到移动,无论产品是否是A or B.

我的结论

必须有一些字段产品B它正在拍摄我的规则,但我无法理解,因为我的规则不受产品字段的影响,如果是的话,为什么我可以在某些视图中看到移动,而在其他视图中看不到?

拜托,任何人都可以帮我至少提供一个想法吗,我已经没有了!


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Odoo 规则实际上运行正常吗? 的相关文章

随机推荐

  • css 类来淡化背景颜色

    我需要一个类来减轻元素背景颜色而不在类中指定颜色 当我对颜色进行硬编码时 这很容易 lighten background color lighten blue 30 但是 如何在不影响内容颜色的情况下将淡化应用于元素的任何颜色 div cl
  • 获取脚本父元素的引用

    我正在使用 AJAX 返回包含脚本的响应 通过该脚本 如何确定脚本正在运行的父元素的 ID 而不将 id 传递给服务器 有办法吗 Thanks 如果您为脚本分配一个 ID 这会在古老的浏览器中爆炸 你可以试试 var id idOfTheS
  • 有没有办法查询特定类型的具有意图过滤功能的应用程序?

    我正在寻找一种方法来在设备中搜索所有能够通过操作 查看 和类别 可浏览 来过滤意图的应用程序 我找到了以下链接并学习了如何列出所有意图过滤器 但是如何仅列出那些仅具有上述参数的意图过滤器 http developer android com
  • 从列表中删除重复的项目

    我尝试跟随这个帖子但是 它似乎对我不起作用 我尝试了这段代码 for bresult in response css LIST SELECTOR NAME SELECTOR h2 a attr href yield name bresult
  • 有没有办法设置 webpack 配置来加载特定的 core-js 条目

    免责声明 除了简单的设置之外 我对 webpack 或 babel 不太熟悉 所以如果问题不清楚 那么我深表歉意 并将尽力提供进一步的说明 因此 目前的情况是 一位同事最近更新了一堆软件包 其中包括 babel 并且 babel 不再正确地
  • 计算 32 位整数中设置的位数

    代表数字 7 的 8 位如下所示 00000111 三位被设置 确定 32 位整数中设置位数的算法有哪些 这被称为 汉明重量 popcount 或 横向加法 一些 CPU 具有单个内置指令来完成此操作 而其他 CPU 则具有作用于位向量的并
  • 如何使用 apache Camel 验证 xsd?

    我正在使用 apacheservicemix 并尝试使用 apache Camel 验证 xml 文档 我有一条名为 Students route xml 的路线
  • 单例与 Swift 3.0

    我用 Swift 2 0 实现了这个 Xcode 的建议不仅令人困惑 而且还会导致编译错误 这是一个用户传递 callfunc 闭包的库 Before protocol MyProtocol 主类 private static var t
  • 吃完 EOF 后重用 std::cin

    UNIX 命令wc有这个功能 wc aaa bbb ccc
  • 使用 VBScript 读取 CSV 文件

    我有一个包含 4 个字段的文件 A B C D 我只想提取第四个字段并将其更改为 E 有办法实现这个吗 假设这些值不包含逗号 请使用读取文件文件系统对象 FSO 那么Split每行以逗号分隔 根据需要更改包含 4 个值的结果数组 然后joi
  • R data.table 按名称进行多列转换[重复]

    这个问题在这里已经有答案了 设 DT 为数据表 DT lt data table V1 factor 1 10 V2 factor 1 10 V9 factor 1 10 是否有更好 更简单的方法来进行多列因子转换 如下所示 DT Vn1
  • 简写“index >= 0 && count++”有什么作用?

    我正在消磨时间阅读下划线 字符串函数 当我发现这个奇怪的简写时 function count str substr var count 0 index for var i 0 i lt str length index str indexO
  • 这种初始化方法有什么区别?

    这两个代码有什么区别 class SomeClass SomeType val new SomeType and class SomeClass SomeType val SomeClass val new SomeType 哪种方法是首选
  • R 闪亮的 RODBC 连接失败

    我有一个可以在本地运行的 R 闪亮应用程序 但是当我上传它时 出现错误 first argument is not an open RODBC channel 这是我的代码 conn lt suppressWarnings odbcDriv
  • C 计算字符串中某个字符出现的次数

    我是 C 新手 我正在自己工作explode像函数一样 我正在尝试计算指定字符在字符串中出现的次数 int count chars char string char chr int count 0 int i for i 0 i lt si
  • 如何使用selenium python点击谷歌上的第一个结果

    我正在尝试点击谷歌结果上的第一个结果 这是我的代码 我在其中输入从 csv 文件读取的 chennai craiglist 所以我确信有机结果中的第一个链接将是 chennai craiglist org 但我很安静 不知道该怎么做 fro
  • 如何用awk合并两个文件?

    我有两个文件的顺序相同 并且行数相同 file1 仅2列 562 201 RIR1 562 202 RIR1 562 203 RIR1 562 204 RIR1 562 205 RIR1 562 206 RIR1 562 207 RIR1
  • 库未在 Python 中初始化(pygame)

    所以我有一个在类函数中创建的字体 我在代码中多次调用这个函数并且它运行得很好 但是有一次当我调用它时它说 self font pygame font Font None self text size RuntimeError Library
  • UWP 项目中的条件包引用

    我想使用一个 NuGet 包仅用于调试配置 我found如果我有一个针对 Creators Update 15063 的 UWP 项目 则可以在 Visual Studio 2017 中执行此操作
  • Odoo 规则实际上运行正常吗?

    我的目的 我试图使用安全规则来实现以下目的 我需要在用户模型中添加一个字段 该字段将设置每个用户可以修改哪些仓库 这是因为我想隐藏您不允许看到的库存变动 其他仓库的库存变动 我做了什么 我创建了一个多对多字段命名allowed wareho