You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 15:如何在视图中判断当前用户是否为管理员

在Odoo中为审批取消按钮添加管理员可见性判断

你可以直接在按钮的attrs域表达式中通过检查用户组来实现管理员判断,无需新增字段或使用模板指令。Odoo的域表达式支持直接调用user.has_group()方法,而系统管理员默认属于base.group_system组,这和env.is_admin()的底层判断逻辑一致。

修改后的XML代码

<button name="action_cancel" string="Cancel" type="object" 
        attrs="{'invisible': &quot;['&amp;amp;', '!user.has_group(\'base.group_system\')', '|','|','|',('request_status','in',['new','cancel']),'&amp;amp;',('user_status','==',False),('has_access_to_request','==',False),'&amp;amp;',('disable_cancellation','=',True),('request_status','=','approved'), ('request_owner_id', '!=', uid)]&quot;}" 
        data-hotkey="z" />

逻辑说明

  • !user.has_group('base.group_system'):判断当前用户不是系统管理员。如果用户是管理员,这个条件不成立,整个invisible的逻辑就会失效,按钮始终可见。
  • 原有不可见条件和这个判断通过&amp;amp;(逻辑与)组合,最终效果是:仅当用户非管理员且满足原有任意不可见规则时,按钮才会隐藏,管理员不受原有规则限制,始终能看到并使用取消按钮。

这种方式完全利用Odoo原生的域表达式能力,不需要额外开发成本,符合你的需求限制。

内容的提问来源于stack exchange,提问作者jacobbrds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 09:57:25