功能调用上的Odoo隐藏显示按钮

时间:2016-01-07 10:46:32

标签: python python-2.7 odoo-9

我是odoo和python的新手。我正在研究一个模块,我需要通过调用“.xml”文件中的方法来隐藏按钮,函数定义和body在“.py”文件中。目前我正试图隐藏这样的按钮

<button confirm="Are you sure you want to start the test?" name="set_to_test_inprogress" states="Invoiced" string="Start Test" type="object" class="oe_highlight"groups="oehealth.group_oeh_medical_physician,oehealth.group_oeh_medical_manager" attrs="{'invisible': [('start_button', '=', False)]}"/>

和“start_button”列位于“.py”文件中,代码类似于

def _start_test_button(self, cr, uid, ids, field_name, arg, context):
    return False

_columns = {
    'start_button': fields.function(_start_test_button, type="boolean", obj="generic.request", method=True),
}

并且该python代码在名为“OeHealthLabTests”的类中。创建实验室时,它显示错误

Uncaught Error: Unknown field start_button in domain [["start_button","=",false],["state","not in",["Invoiced"]]]

很困惑,我找不到让它成为现实的方法。请指导我如何做到这一点。

谢谢

1 个答案:

答案 0 :(得分:1)

由于您尚未在xml中定义字段函数,因此出现错误。 只需在xml中定义字段函数。

<button confirm="Are you sure you want to start the test?" name="set_to_test_inprogress" states="Invoiced" string="Start Test" type="object" class="oe_highlight"groups="oehealth.group_oeh_medical_physician,oehealth.group_oeh_medical_manager" attrs="{'invisible': [('start_button', '=', False)]}"/>
<field name="start_button" invisible="1"/>

我希望我的回答可以帮助你:)。