如何基于功能(自动)通过attrs查看或隐藏字段?

问题描述 投票:1回答:2

我只想查看员工,其经理和“ hr.group_hr_user”组的“ working_hours”字段。如何隐藏此字段无需编辑表单或自动触发按钮即可自动>>

class InheritHrEmployee(models.Model):
    _inherit = 'hr.employee'


    def hide_working_hours(self):
        if self.env.uid == self.user_id.id or self.env.uid == self.parent_id.user_id.id or self.env.user.has_group(
            'hr.group_hr_user'):
            self.working_hours_view = True
        else:
            self.working_hours_view = False

    working_hours_view = fields.Boolean(computed=hide_working_hours)

XML:

<record id="hide_working_hours_for_employees" model="ir.ui.view">
  <field name="name">Hide Working Hours Employees Form</field>
  <field name="model">hr.employee</field>
  <field name="inherit_id" ref="hr.view_employee_form"/>
  <field name="arch" type="xml">
    <xpath expr="//field[@name='resource_calendar_id']" position="before">
      <field name="working_hours_view" invisible="1"/>
    </xpath>
    <xpath expr="//field[@name='resource_calendar_id']" position="attributes">
      <attribute name="attrs">{'invisible': [('working_hours_view' ,'=', False)]}</attribute>
    </xpath>
  </field>
</record>

我只想查看员工,其经理和“ hr.group_hr_user”组的“ working_hours”字段。如何自动隐藏此字段而无需编辑表单或如何触发按钮类InheritHrEmployee(...

python-3.x xml odoo odoo-11
2个回答
0
投票

尝试下面的代码仅显示hr.group_hr_user组用户的工作时间字段。


0
投票

我在函数之前添加了该字段,它现在可以自动运行

© www.soinside.com 2019 - 2024. All rights reserved.