Как вызвать пользовательский файл JS в Odoo 8? - PullRequest
1 голос
/ 04 февраля 2020

У меня есть модель под названием student . У меня также есть вид формы , вид дерева для модели студента. Я хочу вызывать мой пользовательский файл javascript, только когда загружено представление формы модели student . Является ли это возможным? Как этого добиться? Спасибо.

То, что я пытался это .....

openerp.student= function (instance) {

instance.web.FormView.include({

    load_form: function(data) {
        var self = this;
        if (data.model === "student") {
            altert('HELLO');
            console.log('BLAH BLAH');
        }
        return this._super(data);
    },

});
};

Ответы [ 2 ]

2 голосов
/ 04 февраля 2020

Вы можете переопределить метод load_form для FormView.

openerp.module_name= function (instance) {

    instance.web.FormView.include({

        load_form: function(data) {
            var self = this;
            if (data.model === "student") {
                // Your custom code
            }
            return this._super(data);
        },

    });
};

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

1 голос
/ 04 февраля 2020

Можно добавить новый режим просмотра, расширив FormFiew, как Odoo сделал с account_move_line_quickadd .

openerp.your_module_name = function (instance) {
    var _t = instance.web._t,
    _lt = instance.web._lt;
    var QWeb = instance.web.qweb;

    instance.web.your_module_name = instance.web.your_module_name || {};

    instance.web.views.add('student_form', 'instance.web.StudentFormView');

    instance.web.StudentFormView = instance.web.FormView.extend({

        load_form: function(data) {
            var self = this;
            // Add your custom code here
            return this._super(data);
        },
    });
};

Вам просто нужно добавить новый режим к оконному действию.

<record id="student_action" model="ir.actions.act_window">
        <field name="name">student.action</field>
        <field name="res_model">student</field>
        <field name="view_mode">student_form,tree</field>
        ...
...