Как открыть представление формы во всплывающем окне без использования оператора возврата в Odoo-11?

Я работаю над 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,
    }

1 ответ

Если вы хотите выполнить некоторые действия после открытия этого мастера, то из этого мастера вставьте несколько полей в соответствии с вашими требованиями, а из кнопки, расположенной в мастере на кнопке этого типа объекта, вызовите метод py. То, как вы это назвали, не сработало, поэтому создайте всплывающее представление формы с помощью оператора return, а затем, после открытия мастера, следуйте инструкциям, которые я предложил, чтобы получить требуемый результат.

Другие вопросы по тегам