diff --git a/addons/stock/static/src/stock_forecasted/forecasted_warehouse_filter.js b/addons/stock/static/src/stock_forecasted/forecasted_warehouse_filter.js index 1922b9e2ba7..7d2d5f64d99 100644 --- a/addons/stock/static/src/stock_forecasted/forecasted_warehouse_filter.js +++ b/addons/stock/static/src/stock_forecasted/forecasted_warehouse_filter.js @@ -9,16 +9,11 @@ export class ForecastedWarehouseFilter extends Component { setup() { this.orm = useService("orm"); this.context = this.props.action.context; + this.warehouses = this.props.warehouses; onWillStart(this.onWillStart) } async onWillStart() { - this.warehouses = await this.orm.searchRead('stock.warehouse', [],['id', 'name', 'code']); - - if (!this.context.warehouse) { - this.props.setWarehouseInContext(this.warehouses[0].id); - } - this.displayWarehouseFilter = (this.warehouses.length > 1); } @@ -35,4 +30,4 @@ export class ForecastedWarehouseFilter extends Component { ForecastedWarehouseFilter.template = 'stock.ForecastedWarehouseFilter'; ForecastedWarehouseFilter.components = {Dropdown, DropdownItem}; -ForecastedWarehouseFilter.props = {action: Object, setWarehouseInContext : Function}; +ForecastedWarehouseFilter.props = {action: Object, setWarehouseInContext : Function, warehouses: Array}; diff --git a/addons/stock/static/src/stock_forecasted/stock_forecasted.js b/addons/stock/static/src/stock_forecasted/stock_forecasted.js index 7eed0c255f5..13892f24d44 100644 --- a/addons/stock/static/src/stock_forecasted/stock_forecasted.js +++ b/addons/stock/static/src/stock_forecasted/stock_forecasted.js @@ -26,6 +26,7 @@ export class StockForecasted extends Component { this.context.active_id = this.props.action.params.active_id; this.reloadReport(); } + this.warehouses = useState([]); onWillStart(this._getReportValues); } @@ -34,6 +35,11 @@ export class StockForecasted extends Component { await this._getResModel(); const isTemplate = !this.resModel || this.resModel === 'product.template'; this.reportModelName = `stock.forecasted_product_${isTemplate ? "template" : "product"}`; + this.warehouses.splice(0, this.warehouses.length); + this.warehouses.push(...await this.orm.searchRead('stock.warehouse', [],['id', 'name', 'code'])); + if (!this.context.warehouse) { + this.updateWarehouse(this.warehouses[0].id); + } const reportValues = await this.orm.call(this.reportModelName, "get_report_values", [], { context: this.context, docids: [this.productId], diff --git a/addons/stock/static/src/stock_forecasted/stock_forecasted.xml b/addons/stock/static/src/stock_forecasted/stock_forecasted.xml index 0be6e766d00..1651474cd2a 100644 --- a/addons/stock/static/src/stock_forecasted/stock_forecasted.xml +++ b/addons/stock/static/src/stock_forecasted/stock_forecasted.xml @@ -7,7 +7,7 @@