Добавить проверку клиентского поля POS Odoo - PullRequest
1 голос
/ 11 июля 2020

Я хочу добавить проверки данных, которые я добавил в клиентскую модель POS Odoo. На данный момент я создал следующий код:

   screens.ClientListScreenWidget.include({
        // Client save alerts
        save_client_details: function (partner) {
            if (!fields.custom_field) {
                this.gui.show_popup('error', 'Missing custom_field!')
            }
            this._super(partner)
        }
    })

Если мое custom_field пусто, появляется всплывающее окно, и это нормально. Проблема в том, что даже если пользователь заполняет поле, всплывающее окно тоже появляется. Проверяя код Odoo, я обнаружил, что они проверяют, что пользователь заполнил в «полях» окна, с помощью следующего кода:

   save_client_details: function(partner) {
        var self = this;

        var fields = {};
        this.$('.client-details-contents .detail').each(function(idx,el){
            if (self.integer_client_details.includes(el.name)){
                var parsed_value = parseInt(el.value, 10);
                if (isNaN(parsed_value)){
                    fields[el.name] = false;
                }
                else{
                    fields[el.name] = parsed_value
                }
            }
            else{
                fields[el.name] = el.value || false;
            }
        });

        if (!fields.name) {
            this.gui.show_popup('error',_t('A Customer Name Is Required'));
            return;
        }

Я не привык к javascript, поэтому я не управлял mimi c этот код для моего настраиваемого поля. Как я могу этого добиться? Как для этого должен выглядеть мой код?

...