Как наследовать POS-кнопки Odoo - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь добавить некоторые функции в кнопки POS, в частности, кнопку, которая отображается как «Подтвердить». Чтобы проверить, работает ли руководство по этой ссылке https://odoo-development.readthedocs.io/en/latest/dev/pos/gui.html, я просто добавляю файл console.log следующим образом:

odoo.define('my_module.js_file', function (require) {
    "use strict";

    var screens = require('point_of_sale.screens');

    screens.PaymentScreenWidget.include({
    init: function(parent, options) {
        this._super(parent, options);
        //My console log message
        console.log('Hello world!')
        this.pos.on('updateDebtHistory', function(partner_ids){
            this.update_debt_history(partner_ids);
      }, this);
    },
  });

Но сообщение появляется только один раз, когда POS заканчивает загрузку данных, а не когда я пу sh кнопку. Что я тут не так делаю?

1 Ответ

1 голос
/ 12 апреля 2020

Чтобы добавить свой код к кнопке Validate, вам нужно изменить виджет экрана оплаты с помощью метода include ( Вы уже сделали это ).

Если вы осмотрите кнопку из браузера, вы обнаружите, что у нее есть класс next, который используется для привязки обработчика события к событию click JavaScript.

Пример :

var screens = require('point_of_sale.screens');
var PaymentScreenWidget = screens.PaymentScreenWidget;

PaymentScreenWidget.include({

    validate_order: function(force_validation) {
        console.log('Hello world!');
        this._super(force_validation);
    },

});
...