Openerp 7如何在没有提交按钮的情况下向编辑器添加编辑/更新/保存

时间:2017-09-07 11:06:10

标签: xml python-2.7 openerp openerp-7

我正在与搁浅"调查"和"评估" Openerp 7中的模块。在那里没有" 编辑"中途按钮做了调查。它总是会打开一份新的调查副本,即使你中途关闭了调查。

enter image description here

如何添加"编辑"或者"编辑" /"更新" /"保存而不提交" "完成"旁边的按钮按钮或"答案调查" Openerp 7向导中的按钮?可以在.py文件中进行吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

你之所以没有看到"编辑"向导上的按钮是因为它已经处于编辑模式。这是向导打开的模式,这样用户就不必点击"编辑"按钮可以输入常规表单视图中的新信息。

如果我想在向导中打开现有记录,我要做的一件事就是创建一个类型为=" object"的按钮。和名称=" method_name"

<!-- In your xml file -->
<button type="object" name="method_name" string="Button" context="{'optional': 'values'}" /> 

然后让它调用python文件中的一个方法,该方法返回一个具有以下值的操作

def method_name(self, cr, uid, ids, context=None): 
    # make sure to send the record id you want to open
    # it could be passed in the context, or other variable
    # i'm only using the context in this example 
    if context == None:
        context = {}

    # if the rec_int_id is False, then the wizard will try to make a new record. Otherwise, it opens the the wizard with existing data
    rec_int_id = context.get('record_id',False)

    view_id = self.pool.get('ir.ui.view').search(cr, uid, [('name','=','your name of view')])

    # search functions always returns a list, so get the 1st element if found
    if view_id:
        view_id = view_id[0]

        return {
            'type': 'ir.actions.act_window',
            'view_type': 'form',
            'view_mode': 'form',
            'res_model': 'your.model.name',
            'res_id': rec_int_id, # integer id of the record to open
            'view_id': view_id, # integer view id
            'target': 'new', # opens the view as a wizard
            'context': context,
            'name': 'Any name you want to give'
        }

    else:
        raise osv.except_osv('','View not found...')