如何根据用户身份使用 ODOO 隐藏字段?
How do I hide a field using ODOO based on who the user is?
我想对某些用户隐藏字段。
我试过这个:
<field name="note_project" attrs="{'invisible': [('members','=',user.id)]}"/>
我的尝试无效。
Odoo 视图在上下文中不包含 user
,因此您无法在那里进行比较。此行为仅适用于访问规则。
相反,您可以在模型字段 is_member
中定义,它计算给定用户是否是成员。
is_member = fields.Boolean('Is member', default=False, compute='_compute_is_member')
@api.multi
def _compute_is_member(self):
for record in self:
if self.env.uid in record.members:
record.is_member = True
然后换一个视图:
<field name="note_project" attrs="{'invisible': [('is_member','=',True)]}"/>
我想对某些用户隐藏字段。
我试过这个:
<field name="note_project" attrs="{'invisible': [('members','=',user.id)]}"/>
我的尝试无效。
Odoo 视图在上下文中不包含 user
,因此您无法在那里进行比较。此行为仅适用于访问规则。
相反,您可以在模型字段 is_member
中定义,它计算给定用户是否是成员。
is_member = fields.Boolean('Is member', default=False, compute='_compute_is_member')
@api.multi
def _compute_is_member(self):
for record in self:
if self.env.uid in record.members:
record.is_member = True
然后换一个视图:
<field name="note_project" attrs="{'invisible': [('is_member','=',True)]}"/>