openerp - 向导不应该单击按钮关闭

时间:2013-12-03 06:34:13

标签: button openerp wizard destroy

我在向导“更改标准价格(stock.change.standard.price)”上添加了一个按钮。可以从Products->访问它。采购标签 - > “ - 更新”链接。

一旦我点击该按钮,向导就会关闭但我不想关闭它。单击“应用”或“取消”时应该关闭。

以下是代码:

按钮:

<button string="New Cost" name="get_price" type="object" class="oe_inline"/>

方法:

def get_price(self, cr, uid, ids, context=None):
    cost_price = 100
return {'new_price': cost_price, 'nodestroy': True}

我正在返回nodestroy,因为我读到它不会破坏向导。

我做错了吗?

提前完成。

3 个答案:

答案 0 :(得分:2)

你应该像这样返回字典以重新打开向导,

view_id = self.pool.get('ir.ui.view').search(cr,uid,[('model','=','your wizard')])
return {
    'type': 'ir.actions.act_window',
    'res_model': 'your wizard',
    'name': _('Your wizard Heading'),
    'res_id': ids[0],
    'view_type': 'form',
    'view_mode': 'form',
    'view_id': view_id,
    'target': 'new',
     'nodestroy': True,
     'context': context
        }

答案 1 :(得分:0)

尝试返回

之类的字典
    return {
        'name':_("wizard name"),
        'view_mode': 'form',
        'view_type': 'form',
        'res_model': 'model', # your current model
        'type': 'ir.actions.act_window',
        'nodestroy': True,
        'target': 'new',
        'context': {'default_fieldname': 'your value'}
    }

这将重新打开向导。如果要重新打开向导。

答案 2 :(得分:0)

(Odoo 9/10) 最简单的方法是避免关闭向导:

@api.multi
def null_action(self):
    return {
        "type": "set_scrollTop",
    }

由于该类型用于调用类ActionManager(javascript)

上的任何方法

它比&#34;类型&#34;:&#34; ir.actions.do_nothing&#34;产生异常(该属性不存在)