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

时间:2018-06-18 15:58:26

标签: 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='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>

1 个答案:

答案 0 :(得分:-1)

有很多方法可以实现这一目标:

  • 您只需添加invisible="true"即可为所有人隐藏字段(包括已登录的用户);)

  • 您可以使用<t t-if="uid is None">您的代码</t>,这样可以隐藏已登录的用户

  • 您还可以设置安全组,并且只允许特定组中的用户查看该字段(文档:https://www.odoo.com/documentation/10.0/reference/security.html

选择权在你手中。如果这是您一直在寻找的,请告诉我。

PS:我在使用隐藏产品价格的应用程序时使用了第二种解决方案,并且#34;添加到购物车&#34;按钮直到登录(https://www.odoo.com/apps/modules/11.0/hide_price_shop/),代码如下:

<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>
相关问题