Как показать action_id методом java-скрипта do_action () в Odoo 11

Когда я вызываю метод do_action из кода java-скрипта, я не получаю идентификатор действия. Из-за этого, когда я обновляю или перезагружаю страницу, моя форма остается пустой. Я использую Odoo 11.

action_timesheet_user: function(event) {
    var self = this;
    event.stopPropagation();
    event.preventDefault();
    alert(self.employee_data.timesheet_action);
    if (self.employee_data.uid == 1){
        this.do_action({
        name: _t("Timesheets"),
        type: 'ir.actions.act_window',
        res_model: 'account.analytic.line',
        view_mode: 'tree,form',
        view_type: 'form',
        views: [[false, 'list'],[false, 'form']],
        context: {
                //'search_default_employee_id': [self.employee_data.id],
                'search_default_month': true,
                },
        target: 'current'
        })}
    else {
        this.do_action({
        name: _t("Timesheets"),
        type: 'ir.actions.act_window',
        res_model: 'account.analytic.line',
        view_mode: 'tree,form',
        view_type: 'form',
        views: [[false, 'list'],[false, 'form']],
        context: {
                //'search_default_employee_id': [self.employee_data.uid],
                'search_default_month': true,
                },
        domain: ['|','|',['user_id', '=', self.employee_data.uid],
        ['employee_id.department_id.manager_id.user_id', '=', self.employee_data.uid],
        ['project_id.user_id','in',[self.employee_data.uid]]],
        target: 'current'
        },{on_reverse_breadcrumb: function(){ return self.reload();}})}
    },

events: _.extend({}, Widget.prototype.events, {'click .custom_helpdesk_tickets': 'action_custom_helpdesk_tickets'}),

Шаблон Xml:

<div><a class = "btn btn-primary btn-block custom_helpdesk_tickets" role = "button"><strong>Helpdesk</strong></a></div>

после вызова этой функции на кнопке шаблона я получаю:

        http://localhost:8069/web?#view_type=list&model=account.analytic.line

Требование:

        http://localhost:8069/web?debug#view_type=list&model=account.analytic.line&menu_id=458&action=487

Заранее спасибо.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
1 540
2

Ответы 2

если приведенный выше код не работает, вы попробуете второй метод ниже - это пример кода, который вы будете использовать этот код

XML-код:

<record id = "hr_timesheets_attendance_action_kanban" model = "ir.actions.act_window">
    <field name = "name">Timesheets</field>
    <field name = "res_model">account.analytic.line</field>
    <field name = "view_mode">tree,form</field>
    <field name = "help" type = "html">
        <p>
            To create employees timesheet.
        </p>
    </field>
</record>

Код JS

this.do_action('module_name.hr_timesheets_attendance_action_kanban');

Спасибо

Из метода do_action вы не можете создать новое действие, вы выполняете любое созданное действие. Таким образом, вы должны указать идентификатор действия, которое необходимо выполнить.

В каком параметре я даю идентификатор? например (res_id или что-то еще). Означает, что мне нужен синтаксис, у меня идентификатор действия = 643.

PAWAN SHARMA 17.01.2019 12:31

Если у вас есть идентификатор действия, то есть идентификатор записи в базе данных, то здесь вам нужен идентификатор (имя) реестра для этого идентификатора базы данных. Например, если action id = 643, тогда идентификатор реестра должен быть примерно таким: my_action_test. Синтаксис должен быть примерно таким: do_action('module_name.action_name) здесь в нашем случае мы можем сказать: do_action('module_name.my_action_test)

Keval Mehta 18.01.2019 05:39

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