Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
3 Ответы
3504 Представления

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

method name :  _getOrderIdsForCurrentPage(limit, offset)




 

Аватар
Отменить
Автор Лучший ответ

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 [];

        }

    };


});

Аватар
Отменить
Лучший ответ

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.

Аватар
Отменить
Related Posts Ответы Просмотры Активность
1
сент. 24
1493
1
авг. 24
1452
1
мар. 22
6819
0
окт. 24
882
2
июл. 24
2594