Как открыть представление формы во всплывающем окне без использования оператора возврата в 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, а затем, после открытия мастера, следуйте инструкциям, которые я предложил, чтобы получить требуемый результат.