域条件不适用于特定组

时间:2018-07-20 15:00:09

标签: python xml odoo

我创建了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>

1 个答案:

答案 0 :(得分:0)

我猜assigned_to_responsible_affected_to的目标模式可能是res.users:在这种情况下,据我所记得,视图的评估上下文传递的当前用户值是一个类似于many2one的变量。 尝试通过以下方式更改域声明:

<field name="domain">
    [('assigned_to_responsible_affected_to', '!=', user.id)]
</field>

让我们知道这是否可以解决您的问题。