Как вернуться на главную страницу после нажатия кнопки «Отмена» в мастере Odoo 12?

Я использую код корпоративной версии Odoo 12 для настройки, и мне нужно перенаправить на домашнюю страницу (web # home) из мастера после нажатия кнопки отмены. Я много искал, чтобы найти menu_id или действие, которое вызывает домашнюю страницу, чтобы вернуть ее из метода python, но я не смог его найти. Есть ли способ сделать это или нет? Ниже мой код в файле Python, в котором я хочу вернуть действие или меню домашней страницы:

def action_cancel(self):
        return {
            'name': _("Main Menu"),
            'type': 'ir.actions.client',
            'tag': 'reload',
        }

person Ibrahim Rahimi    schedule 25.09.2019    source источник


Ответы (2)


Просто вы можете использовать ir.actions.act_url

Eg:

def action_cancel(self):
   return {
      'type': 'ir.actions.act_url',
      'target': 'self',
      'url': '/home'
   }
person Ajmal JK    schedule 26.09.2019
comment
Это небольшая проблема, после нажатия на кнопку открывается новое окно и перенаправляет на нужный URL. Что мне делать, чтобы открыть в текущем окне? - person Ibrahim Rahimi; 26.09.2019

Изменить: это будет работать, только если модуль веб-сайта не установлен.

Вы ищете действия «домашнего» клиента. Измените тег на home:

'tag': 'home',

Он определен в /addons/web/static/src/js/core/misc.js

/**
 * Client action to go back home.
 */
function Home (parent, action) {
    var url = '/' + (window.location.search || '');
    redirect(url, action && action.params && action.params.wait);
}
core.action_registry.add("home", Home);

Итак ... очевидно, что действие клиента может быть таким же простым, как функция!

person Obay Abd-Algader    schedule 25.09.2019
comment
На самом деле указанный выше тег предназначен для домашней страницы веб-сайта, а не для того, где мне нужно перенаправить туда. Мне нужно перенаправить на этот URL: / web # home. Есть ли у вас какие-либо идеи? - person Ibrahim Rahimi; 26.09.2019
comment
Я забыл, что при установке модуля сайта он работать не будет! - person Obay Abd-Algader; 10.10.2019
comment
Хорошо, я только что решил проблему с помощью вышеуказанного решения. Но я не смог найти ни одного тега для этой цели. - person Ibrahim Rahimi; 10.10.2019
comment
Вы можете сделать свое собственное. просто замените '/' на '/ web' и дайте ему новое имя тега. - person Obay Abd-Algader; 10.10.2019