我创建了4个组:
1- group_sprogroup_projets:可以看到验证按钮
2-group_sprogroup_management:可以看到验证按钮
3-group_manager:可以查看所有记录
4-group_purchase:可以查看所有记录
我有两个用户:
-Directeur:影响到第2组和第3组,因此该按钮出现在所有记录中
-respACHAT:第1组和第4组的影响者,因此该按钮出现在所有记录中
在Python文件中,我有一个变量'assigned_to_responsible_affected_to',它是Many2one字段。
如果变量Assigned_to_responsible_affected_to与登录的用户不同,我想为这两个用户隐藏一个按钮:
'assigned_to_responsible_affected_to','!=',用户 问题是,这对于“ respACHAT”而言是完美的,而对其他用户“ Directeur”而言则不可行。 这是我的代码:
<record id="hide_validation_button" model="ir.ui.view">
<field name="name">hide validation button</field>
<field name="model">sprogroup.purchase.request</field>
<field name="inherit_id"
ref="sprogroup_purchase_request.view_sprogroup_purchase_request_form"/>
<field name="groups_id"
eval="[(6, 0,
[ref('sprogroup_purchase_request.group_sprogroup_management'),
ref('sprogroup_purchase_request.group_sprogroup_projets')])]"/>
<field name="domain">
[('assigned_to_responsible_affected_to','!=',user)]</field>
<field name="arch" type="xml">
<xpath expr="//header/button[@name='button_to_approve']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
</field>
</record>
答案 0 :(得分:0)
我猜assigned_to_responsible_affected_to
的目标模式可能是res.users
:在这种情况下,据我所记得,视图的评估上下文传递的当前用户值是一个类似于many2one的变量。
尝试通过以下方式更改域声明:
<field name="domain">
[('assigned_to_responsible_affected_to', '!=', user.id)]
</field>
让我们知道这是否可以解决您的问题。