You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Odoo中Employee用户组无法访问自定义模块的权限问题

排查Odoo自定义模块权限问题:员工用户无法看到Purchases模块

这种权限不生效的问题在Odoo自定义模块开发里挺常见的,咱们一步步来排查解决:

1. 先检查菜单与关联Action的权限配置

你提到已经给视图加了权限,但菜单本身和它绑定的Action也必须分配Employees组权限,这是很容易漏掉的点:

  • 打开开发者模式,找到你的「Purchases」菜单项,进入编辑页面,在「Groups」字段里添加「Employees/Employee」组;
  • 同时找到该菜单对应的Action(在菜单的「Action」字段里能找到),同样在Action的编辑页面,把「Employees/Employee」组添加到「Groups」字段中。

2. 确认模块核心模型的访问权限记录

自定义模块的模型必须有对应的ir.model.access权限记录,否则就算菜单权限开了,用户也看不到实际内容:

  • 进入开发者模式,打开「设置 > 技术 > 安全 > 访问控制」;
  • 查找你Purchases模块对应模型的权限记录,确保它的「Groups」字段包含「Employees/Employee」,并且至少勾选了「读取」权限(如果需要编辑功能再勾选「写入」等);
  • 如果找不到对应的访问记录,就手动创建一条:选择你的模块模型,分配Employees组,设置合适的权限级别。

3. 检查用户组的继承与权限冲突

  • 确认emp1用户只属于Employees/Employee组,没有同时加入其他可能隐藏菜单的限制型组;
  • 检查Employees组有没有继承其他组的权限,避免出现权限冲突导致菜单被隐藏。

4. 清除缓存并重新登录

权限设置后,缓存问题经常会导致新权限不生效:

  • 在开发者模式下,点击顶部的「更新应用列表」,或者直接重启Odoo服务;
  • 让emp1用户完全退出浏览器,清除浏览器缓存后再重新登录,前端缓存有时候会拖后腿。

5. 再次验证视图权限的正确性

  • 重新打开「Received purchases」和「Pending purchases」视图的编辑页面,在「安全」标签下确认「Groups」字段确实添加了「Employees/Employee」组;
  • 检查视图有没有设置「不可见」等隐藏属性,或者这些属性有没有和用户组规则冲突。

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

火山引擎 最新活动