Odoo 为什么列表能看见,点进去却报权限错误:ACL 与记录规则域合并顺序
用户能在列表里看到记录,点进详情却报权限错,常见原因不是单纯“没给权限”,而是 ACL、全局规则、组规则和关联模型读取顺序叠在了一起。
TOPIC PICKS
用户能在列表里看到记录,点进详情却报权限错,常见原因不是单纯“没给权限”,而是 ACL、全局规则、组规则和关联模型读取顺序叠在了一起。
可以顺着继续读的相邻方向
讲 account_edi_ubl_cii 时,很多人只关注发送链路;但真正容易被低估的,是接收侧如何先拆 AttachedDocument、再决定 XML 该落到哪个 importable model,最后才谨慎回填税项和行数据。本文把这条“拆包优先”的导入链路讲透。
很多文章把 payment 的重点放在 transaction state machine,但真正决定前台“能不能看到这个支付方式”的,常常是建单之前的 provider 兼容路由。本文从 payment_provider.py 的 `_get_compatible_providers()`、`_is_tokenization_required()`、`_get_validation_amount()` 出发,讲清国家、公司、金额、币种、tokenization 与 express checkout 如何一起筛掉渠道。
auth_totp_mail 看起来只是把 6 位验证码从 Authenticator App 换成邮箱,但源码真正表达的是另一套风险模型:验证码按小时派生、登录阶段停留在 pre-auth、发送与校验分别限流、受信设备和新设备提醒要一起工作。本文讲清它为什么更像“过渡型 MFA”而不是“低配 TOTP”。
很多人以为 auth_passkey_portal 只是把后台 Passkey 能力搬到门户页,但官方源码真正处理的是“已登录的门户用户何时还能安全管理认证资产、删除凭据后旧会话是否继续可信、设备命名与凭据所有权如何避免越权”。本文沿着模板、前端交互、auth_passkey 核心模型与测试用例,把这条自助治理链路讲透。
很多人知道字段上能写 check_company=True,却没真正搞明白什么时候会自动报错、什么时候只是界面 domain 收窄。本文结合 odoo/orm/models.py 和 fields_relational.py,讲清 _check_company_auto、_check_company 与 check_company=True 是怎么一起工作的。
基于 documents_account_peppol,讲清企业版 Peppol 收票为何可以不直接落账,而先进入 Documents 文件夹并保留标签与追踪信息。