首页 > 解决方案 > 域条件不适用于特定组

问题描述

我创建了 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','!=',user 问题是这对“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>

标签: pythonxmlodoo

解决方案


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

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

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


推荐阅读