Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
3 Respostas
2746 Visualizações

how to override method in javascript class in odoo 16 ?
the class name : SaleOrderFetcher

method name :  _getOrderIdsForCurrentPage(limit, offset)




 

Avatar
Cancelar
Autor Melhor resposta

odoo.define('pos_product_label.SaleOrderFetcher', function (require) {

    'use strict';


    const SaleOrderFetcher = require('pos_sale.SaleOrderFetcher');


    SaleOrderFetcher._getOrderIdsForCurrentPage = async function (limit, offset) {

        if (!this.comp || !this.comp.env || !this.comp.env.pos) {

            console.error("this.comp or its nested properties are null/undefined.");

            return [];

        }


        let domain = [['currency_id', '=', this.comp.env.pos.config.id],

            ['state', '=', 'draft']

        );


        try {

            const saleOrders = await this.rpc({

                model: 'sale.order',

                method: 'search_read',

                args: [domain, ['name', 'partner_id', 'amount_total', 'date_order', 'state', 'user_id', 'amount_unpaid'], offset, limit],

                context: this.comp.env.session.user_context,

            });


            return saleOrders;

        } catch (error) {

            console.error("Error fetching sale orders:", error);

            return [];

        }

    };


});

Avatar
Cancelar
Melhor resposta

Hi,

Patching is a standard method for extending or overriding functionality, so we can use this patch to do just that.


For instance, use the code below and insert your logic within the function:


/** @odoo-module */

import { patch } from '@web/core/utils/patch';

import { SaleOrderFetcher } from '@web/views/saleOrder/saleorderfetcher';


patch(SaleOrderFetcher.prototype, {

    async setup() {

        super.setup();

    },

    _getOrderIdsForCurrentPage(limit, offset){

        // you can write your logic here

    }

});


Hope it helps.

Avatar
Cancelar
Publicações relacionadas Respostas Visualizações Atividade
1
set. 24
953
1
ago. 24
919
1
mar. 22
6304
0
out. 24
484
2
jul. 24
2023