我正在开发一些应用程序,但需要隐藏登录用户的一些字段..下面是我试过的代码
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>
答案 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&nbsp;to see price</a>&nbsp;</p>
</t>