如何在odoo中向登录用户隐藏某些字段

如何在odoo中向登录用户隐藏某些字段,odoo,Odoo,我正在开发一些应用程序,但需要对登录用户隐藏一些字段。。下面是我尝试过的代码 class HrEmployee(models.Model): _inherit = 'hr.employee' grade_id = fields.Many2one(related='contract_id.grade_id', string='Grade') rank_id = fields.Many2one(related='contract_id.rank_id', string='P

我正在开发一些应用程序,但需要对登录用户隐藏一些字段。。下面是我尝试过的代码

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

    grade_id = fields.Many2one(related='contract_id.grade_id', string='Grade')
    rank_id = fields.Many2one(related='contract_id.rank_id', string='Point')
另一个是视图

<!-- Employees inherited views -->
<record id="view_employee_form_grade_rank" model="ir.ui.view">
    <field name="name">hr.employee.form.grade.rank</field>
    <field name="model">hr.employee</field>
    <field name="inherit_id" ref="hr.view_employee_form" />
    <field name="arch" type="xml">
        <field name="job_id" position="after">
            <field name="grade_id"/>
            <field name="rank_id" domain="[('grade_id','=',grade_id)]" />
        </field>
    </field>
</record>

hr.employee.form.grade.rank
人力资源部员工

实现这一点的方法有很多:

  • 您只需添加
    invisible=“true”
    ,它就会为每个人(包括登录用户)隐藏该字段;)

  • 您可以使用
    您的代码
    ,这将对登录的用户隐藏

  • 您还可以设置安全组,只允许特定组的用户查看该字段(文档:)

选择权在你。让我知道这是否是你一直在寻找的

PS:我在开发我的应用程序时使用了第二种解决方案,在登录()之前隐藏产品价格以及“添加到购物车”按钮,代码如下所示:

<t t-if="uid is None">
          <p><a href="/web/login" class="btn btn-primary">Log In&amp;nbsp;to see price</a>&amp;nbsp;</p>
</t>

&;nbsp