Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
1676 Vistas

Could someone help me how to patch StockForecasted in Odoo16?

class StockForecasted extends Component{
async _getReportValues(){
this.resModel = this.context.active_model || (this.context.params && this.context.params.active_model);
​....
​}
}

I tried this below code but did not work

/** @odoo-module **/
import { patch } from '@web/core/utils/patch';
import { StockForecasted } from "@stock/stock_forecasted/stock_forecasted";
console.log(StockForecasted)
patch(StockForecasted.prototype, 'test_my_stock.StockForecasted', {
async _getReportValues(){
console.log('_getReportValuesInherit')
this.resModel = this.context.active_model || (this.context.params && this.context.params.active_model);
if (!this.resModel) {
if (this.props.action.res_model) {
const actionModel = await this.orm.read('ir.model', [Number(this.props.action.res_model)], ['model']);
if (actionModel.length && actionModel[0].model) {
this.resModel = actionModel[0].model
}
} else if (this.props.action._originalAction) {
const originalContextAction = JSON.parse(this.props.action._originalAction).context;
if (originalContextAction) {
this.resModel = originalContextAction.active_model
}
}
}

Browser showed 'undefined'. I think this is because this class is not 'export'. But I cannot export this class. This is Odoo code base.

Avatar
Descartar
Mejor respuesta

Hi,

You have to first export this class and then patch it, Can you just update the code like this and try,

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

import { StockForecasted } from "@stock/stock_forecasted/stock_forecasted";


export default class TestMyStockStockForecasted extends StockForecasted {

async _getReportValues() {

console.log('_getReportValuesInherit')

this.resModel = this.context.active_model || (this.context.params && this.context.params.active_model);

if (!this.resModel) {

if (this.props.action.res_model) {

const actionModel = await this.orm.read('ir.model', [Number(this.props.action.res_model)], ['model']);

if (actionModel.length && actionModel[0].model) {

this.resModel = actionModel[0].model

}

} else if (this.props.action._originalAction) {

const originalContextAction = JSON.parse(this.props.action._originalAction).context;

if (originalContextAction) {

this.resModel = originalContextAction.active_model

}

}

}

}

}


patch(StockForecasted.prototype, 'test_my_stock.StockForecasted', {

TestMyStockStockForecasted,

});


Thanks

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
2
abr 24
2332
0
abr 24
1162
0
oct 23
1225
0
sept 24
2181
1
ago 24
2908