Изменение функции удаления заказа в POS odoo с помощью javascript

#javascript #odoo-13 #point-of-sale

#javascript #odoo-13 #точка продажи

Вопрос:

Я хочу изменить эту «минус-кнопку» таким образом, чтобы, если пользователь нажмет на кнопку генерировать токен, эта кнопка стала отключенной для этого заказа. Проще говоря, пользователь, который сгенерировал токен для своего заказа, не может удалить свой текущий токен.Пользовательский интерфейс POS с добавленным виджетом

Ответ №1:

я придумал некоторые временные исправления, но это не решение:

Хорошо, в основном я сделал это

 PosBaseWidget.include({

          init: function(parent, options) {
            this._super(parent, options);

        },
        get_order_by_uid: function(uid) {
        var orders = this.pos.get_order_list();
        for (var i = 0; i < orders.length; i  ) {
            if (orders[i].uid === uid) {
//                 this.pos.get_order().token_number=Token;
                return orders[i];
            }
        }
        return undefined;
    },
        deleteorder_click_handler: function(event, $el) {
            var self  = this;
            var order = this.pos.get_order();

            if (!order) {
                return;
            } else if ( !order.is_empty() ){

                this.gui.show_popup('confirm',{
                    'title': _t('Destroy Current Order ?'),
                    'body': _t('You will lose any data associated with the current order'),
                    confirm: function(){
                        self.pos.delete_current_order();
                    },
                });
            } else {
                this.pos.delete_current_order();
            }
        },
          renderElement: function(){
            var self = this;
            this._super();
            this.$('.order-button.select-order').click(function(event){

            });
            this.$('.neworder-button').click(function(event){
                self.neworder_click_handler(event,$(this));
            });
            this.$('.deleteorder-button').click(function(event){
                if(Token == null )
               {
                    self.deleteorder_click_handler(event,$(this));

               }
                else
                {
                    self.neworder_click_handler(event,$(this));
                      this.pos.get_order().order_progress="In progress";

                }
            });

        }

});

where 
     var PosBaseWidget = require('point_of_sale.BaseWidget');
     var Token = Math.floor((Math.random() * 1000)   1000);
  

токен на самом деле помогает здесь присваивать случайный уникальный номер каждому заказу в текущем сеансе
Это просто временное решение моей проблемы, а также возникают некоторые новые проблемы *, такие как «кнопка нового заказа [ кнопка с подписью] создает два заказа одним щелчком мыши». *

Как новый для odoo и чуждый его javascript (не обычный javascript)

я работаю над модулем, чтобы улучшать это каждый день. Будет обновляться после нахождения более надежного решения моего вопроса.Советы, советы, мнения и предложения высоко ценятся.