以tryton视图形式添加按钮

时间:2014-08-08 13:21:41

标签: tryton

您好我一直在搜索,我找不到任何有关如何在自定义模块的view_form部分添加按钮的教程。 我想添加一个按钮,并让它调用我每次点击时制作的方法。

xml视图表单中的

<label name="fieldstring"/>
<field name="fieldstring"/>
 <button name="dosomething"/>

代码:

def dosomething(cls,records):
    #treatement

是否有任何示例模块正在使用与治疗相关联的按钮?

1 个答案:

答案 0 :(得分:1)

要向视图添加按钮,您必须执行3个步骤:

将按钮添加到ModelView类的_buttons字典中。通常,这是在您班级的设置方法中完成的。在这里,您可以定义图标和状态(例如,当按钮不可见时)。如果不需要,您可以使用空字典定义它。

例如:

@classmethod 
def __setup__(cls):
   super(Class, cls).__setup__()    
   cls._buttons.update({
          'mybutton': {},
          })

可以在tryton模块上找到更复杂的示例,例如:

http://hg.tryton.org/modules/account_invoice/file/84a41902ff5d/invoice.py#l224

声明你的方法并用ModelView.button修饰它(为了检查对这个按钮的访问权限)。例如:

@classmethod
@ModelView.button
def mybutton(cls, records)
    #DO whatever you want with records

请注意,name方法必须是在步骤1中用作_buttons字典键的名称方法。

最后将其添加到视图中。您可以找到可以使用的所有属性:

http://doc.tryton.org/3.2/trytond/doc/topics/views/index.html?highlight=button#button

请注意,字符串和名称属性是必需的。

此名称也必须是要调用的方法的名称,在步骤2中定义。

您可以在以下网址找到一些示例:

http://hg.tryton.org/modules/account_invoice/file/84a41902ff5d/view/invoice_form.xml#l51