如何根据另一个模块中的状态隐藏account.invoice中的验证按钮?

时间:2016-04-17 19:31:37

标签: openerp openerp-7

我需要根据状态选择字段隐藏account.invoice中的验证按钮,该字段存在于另一个具有财务状态关闭的模块中。

如果状态为financial_close,则隐藏验证按钮

<button name="invoice_open" states="draft" string="Validate" class="oe_highlight" groups="base.group_user"/>

另一个包含财务关闭状态的模块

'status': fields.selection([
            ('open', 'Open'),
            ('operation_close', 'Operation Closed'),
            ('financial_close', 'Financial Closed'),
            ('cancel', 'Cancel'),
        ], string="Status"),

1 个答案:

答案 0 :(得分:2)

完成以下步骤:

  1. 使用其他模块Many2one中创建account.invoice
  2. 使用先前创建的mystatusaccount.invoice中创建相关字段Many2one
  3. 继承 invoice_open 的父视图[invoice_form]。
  4. 将您的相关字段mystatus放在视图上赞:<field name="mystatus"/>
  5. 使用xpathpostion= attributes
  6. 以下是代码段:

     <xpath expr="//button[@name='invoice_open']" position="attributes">
     <attribute name="attrs">{'invisible':[('mystatus','=', 'open')]}</attribute> 
    

    这可能有助于您的情况