【问题标题】:How to open form view in popup without the use of return statement in Odoo-11?如何在弹出窗口中打开表单视图而不使用 Odoo-11 中的 return 语句?
【发布时间】:2018-04-09 13:04:30
【问题描述】:

我正在开发 Odoo-11,并且我有一个触发 python 方法的对象按钮。此方法在弹出窗口(target="new")中打开一个表单视图,我正在使用 return 语句来实现这一点,但我想在显示后执行其他操作弹出窗口。如何在不使用 return 语句的情况下显示表单视图? PS:我尝试使用第二种方法,负责显示弹出窗口并在 main 方法中调用此方法,但它不起作用(请参见下面的代码)。

 @api.multi
def closure(self):
    wizard = self.env['crop_management.warning.wizard']
    warning = wizard.create({'name': "Warning message"})
    self.show_wizard(warning.id)
    if warning.ignore:
        _logger.warning("Yes")
    else:
        _logger.warning("No")

@api.multi
def show_wizard(self, id):
    return {
        'name': _('Warning'),
        'view_type': 'form',
        'view_mode': 'form',
        'res_model': 'crop_management.warning.wizard',
        'view_id': False,
        'type': 'ir.actions.act_window',
        'res_id': id,
        'target': 'new',
        'nodestroy': True,
    }

【问题讨论】:

    标签: python-2.7 odoo-11


    【解决方案1】:

    如果您想在打开该向导后执行一些操作,则从该向导中根据您的要求插入一些字段,并从位于该对象类型按钮上的向导中的按钮调用您的 py 方法。您调用的方式不起作用,因此通过 return 语句创建一个弹出表单视图,然后在打开向导后按照我建议的步骤操作,以便获得所需的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-25
      相关资源
      最近更新 更多