使用odoo13框架现在有一个需求,有合同表合同表中关联着用户,然后现在需要用户审核合同,怎么样才能只显示除了该用户是审核人的合同
时间: 2024-03-20 22:40:35 浏览: 61
网站个人用户授权销售合同-局域网个人用户授权销售合同平台审核.docx
你可以在合同表中添加一个字段,用于记录审核人。然后在视图中添加一个筛选器,筛选器条件为审核人不等于当前用户,这样就可以只显示除了该用户是审核人的合同了。具体实现方法如下:
1. 在合同表中添加一个字段,命名为"审核人",用于记录审核人。
2. 在视图中添加一个筛选器,在筛选器中添加一个条件,条件为"审核人"不等于当前用户。
3. 保存视图并运行,就可以只显示除了该用户是审核人的合同了。
如果你需要在代码中实现这个功能,可以使用Odoo的ORM来实现,如下所示:
``` python
from odoo import models, fields, api
class Contract(models.Model):
_name = "my_module.contract"
name = fields.Char(string="合同名称")
user_id = fields.Many2one('res.users', string='用户')
auditor_id = fields.Many2one('res.users', string='审核人')
class ContractController(models.Model):
_inherit = "my_module.contract"
@api.model
def search(self, args, offset=0, limit=None, order=None, count=False):
# 获取当前用户
current_user = self.env.user
# 添加筛选条件,只显示审核人不为当前用户的合同
args += [('auditor_id', '!=', current_user.id)]
return super(ContractController, self).search(args, offset=offset, limit=limit, order=order, count=count)
```
这段代码会在搜索合同时,自动添加一个筛选条件,只显示审核人不为当前用户的合同。
阅读全文