Skip to Content
Menu
This question has been flagged
3 Replies
2513 Views

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

method name :  _getOrderIdsForCurrentPage(limit, offset)




 

Avatar
Discard
Author Best Answer

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
Discard
Best Answer

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
Discard
Related Posts Replies Views Activity
1
Sep 24
865
1
Aug 24
809
1
Mar 22
6131
0
Oct 24
398
2
Jul 24
1913