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

Odoo 10按用户权限隐藏‘新建消息’按钮问题求助

解决Odoo Chatter中“新建消息”按钮仅管理员可见的问题

我看到你已经尝试通过groups属性来限制“新建消息”按钮的可见性,但没达到预期效果对吧?在Odoo自定义Chatter模板时,有几个常见的问题和可行的修复方案,我给你详细梳理下:

  • 确认模板继承方式是否正确
    如果你是直接重写mail.Chatter模板(用<t t-name="mail.Chatter">),很可能覆盖了原模板的上下文逻辑,导致groups属性无法正常解析。建议改用继承模式,保留原模板的基础结构:

    <t t-inherit="mail.Chatter" t-inherit-mode="primary">
        <xpath expr="//button[hasclass('o_chatter_button_new_message')]" position="replace">
            <button type="button" class="btn btn-sm btn-primary o_chatter_button_new_message" title="Send a message" groups="toweriq_pm.group_manager">
                New message
            </button>
        </xpath>
    </t>
    

    这种方式只会替换目标按钮,不会破坏原Chatter的其他功能。

  • 验证组的XML ID准确性
    检查toweriq_pm.group_manager这个组的XML ID是否完全正确:

    1. 进入Odoo后台的Settings > Users & Companies > Groups
    2. 搜索目标组,查看它的外部标识符(XML ID)是否和你代码里的一致
    3. 同时确认管理员用户确实属于这个组
  • 改用t-if条件渲染替代groups属性
    有时候模板上下文的问题会导致groups属性失效,直接用user.has_group()方法做条件判断更可靠:

    <button type="button" class="btn btn-sm btn-primary o_chatter_button_new_message" title="Send a message"
            t-if="user.has_group('toweriq_pm.group_manager')">
        New message
    </button>
    

    Odoo模板默认可以访问user对象,has_group()方法会直接校验当前用户是否属于指定组。

  • 检查CSS样式干扰
    偶尔会有自定义CSS或者原模板的CSS强制显示按钮的情况,你可以用浏览器开发者工具(F12)检查按钮元素的display属性,确认没有被强制设置为block或inline-block。如果有,可以添加自定义CSS规则:

    .o_chatter_button_new_message:not(.o_visible) {
        display: none !important;
    }
    

最后别忘了,修改完代码后要升级对应的模块,并清除浏览器缓存(Ctrl+Shift+R强制刷新),确保新的模板和逻辑被加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:32:30