odoo14设置除了titan_account_admin组之外,其他人修改需要当前登陆人的id=md1_id才可以修改想费用明细成功
时间: 2024-09-20 21:06:22 浏览: 38
在Odoo 14中,如果你想设置除了`titan_account_admin`组以外的其他用户只能在满足`current_login_user.id = md1_id`的条件下修改费用明细,你需要采取以下步骤:
1. **区分权限**:
- 审核模式(Draft Mode):在Odoo中,你可以启用审核模式,这会使非管理员用户无法直接修改已有的数据。但是,你需要将费用明细的状态设为草稿状态直到验证通过。
2. **权限分配**:
- 创建新的权限规则:首先,在权限中心(Permission Center)中为`project_expense_line`模型创建一个新的权限规则,针对`write`(修改)操作,只允许`titan_account_admin`组或当前用户ID为`md1_id`的用户。
3. **视图定制**:
- 对于视图(views),同样像之前那样在`project_expense_line`的编辑视图中,使用`<record>`标签下的`groups`属性,指定只有特定用户组(包括`titan_account_admin`和`user_id == md1_id`)能访问修改功能。示例如下:
```xml
<record id="view_project_expense_line_form" model="ir.ui.view">
<field name="groups">[your_group_ids, 'titan_account_admin']</field>
<!-- ...其他视图配置... -->
</record>
```
4. **启用审核模式**:
在`res.config`模型中设置费用明细默认为草稿状态,然后仅允许管理员或其他经过授权的用户审批(转换为发布状态):
```python
res_config = env.ref('base.res_config')
res_config.field_project_expense_line_state_string = "草稿 (等待审批)"
```
5. **编写审批流程**:
可能还需要为费用明细设计一个审批流程,使得`md1_id`对应的用户可以在流程中处理并批准修改请求。
阅读全文