【问题标题】:How do I hide a field using ODOO based on who the user is? [closed]如何根据用户是谁使用 ODOO 隐藏字段? [关闭]
【发布时间】:2017-10-19 14:11:20
【问题描述】:

我想对某些用户隐藏字段。

我试过这个:

   <field name="note_project" attrs="{'invisible': [('members','=',user.id)]}"/> 

我的尝试没有成功。

【问题讨论】:

  • 设置user.id的值
  • 前。 &lt;field name="note_project" attrs="{'invisible': [('members','!=',1)]}"/&gt; ,这意味着只对管理员可见
  • user.id 这是用户 ID
  • 我已经用过也不行

标签: openerp odoo-8 odoo-9 odoo-10


【解决方案1】:

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)]}"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 2023-03-04
    • 1970-01-01
    • 2013-04-13
    相关资源
    最近更新 更多