Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
1566 Widoki

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.

Awatar
Odrzuć
Najlepsza odpowiedź

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

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
2
kwi 24
2183
0
kwi 24
1039
0
paź 23
1093
0
wrz 24
2058
1
sie 24
2774