如何在Odoo 17中为门户用户开放工时单创建权限?
允许Odoo 17门户用户添加工时单的解决方案
1. 调整工时单模型的权限设置
Odoo的权限控制优先级高于视图属性,需先确保门户用户组拥有工时单对应模型的创建权限:
- 进入设置 > 技术 > 权限 > 权限组
- 找到门户组(
portal) - 在对象权限标签页,搜索
account.analytic.line(工时单对应的底层模型) - 勾选创建权限后保存
2. 配置记录规则
即使模型有权限,记录规则可能限制门户用户的操作范围,需调整规则确保用户能创建自己的工时单:
- 进入设置 > 技术 > 权限 > 记录规则
- 搜索
account.analytic.line相关规则,找到针对门户用户的条目 - 修改域条件,确保用户能创建关联自身任务的工时单,示例域:
['|', ('user_id', '=', user.id), '&', ('task_id.project_id.privacy_visibility', '=', 'portal'), ('task_id.user_id', '=', user.id)]
3. 确保视图配置生效
你之前修改的树形视图属性需确认是门户用户可见的视图,且未被其他继承视图覆盖:
- 进入设置 > 技术 > 用户界面 > 视图
- 搜索
Timesheet Activities树形视图,确认该视图对门户用户组可见 - 确保视图的
create属性设为true,代码如下:<tree string="Timesheet Activities" default_order="date" no_open="1" create="true" delete="0">
4. 验证项目与任务的可见性
确保用户访问的任务和项目允许门户用户参与:
- 打开对应项目,将隐私设置为门户可见
- 打开对应任务,确认任务已分配给该门户用户,或项目允许门户用户查看任务
内容的提问来源于stack exchange,提问作者Muhammad Saleem
相关产品推荐
相关产品推荐

