diff --git a/addons/mrp/static/src/components/bom_overview/mrp_bom_overview.js b/addons/mrp/static/src/components/bom_overview/mrp_bom_overview.js index 792c98c6021..540fd966af5 100644 --- a/addons/mrp/static/src/components/bom_overview/mrp_bom_overview.js +++ b/addons/mrp/static/src/components/bom_overview/mrp_bom_overview.js @@ -48,6 +48,9 @@ export class BomOverviewComponent extends Component { //---- Data ---- async initBomData() { + const variantId = this.props.action.context.active_product_id; + this.state.currentVariantId = variantId ? variantId : false; + const bomData = await this.getBomData(); this.state.bomQuantity = bomData["bom_qty"]; this.state.showOptions.uom = bomData["is_uom_applied"]; @@ -55,7 +58,7 @@ export class BomOverviewComponent extends Component { this.variants = bomData["variants"]; this.showVariants = bomData["is_variant_applied"]; if (this.showVariants) { - this.state.currentVariantId = Object.keys(this.variants)[0]; + this.state.currentVariantId ||= Object.keys(this.variants)[0]; } this.state.precision = bomData["precision"]; } @@ -105,7 +108,7 @@ export class BomOverviewComponent extends Component { await this.getBomData(); } } - + async onChangeVariant(variantId) { if (this.state.currentVariantId != variantId) { this.state.currentVariantId = variantId; diff --git a/addons/mrp/static/src/components/bom_overview/mrp_bom_overview.xml b/addons/mrp/static/src/components/bom_overview/mrp_bom_overview.xml index f3238974952..a96c9637d14 100644 --- a/addons/mrp/static/src/components/bom_overview/mrp_bom_overview.xml +++ b/addons/mrp/static/src/components/bom_overview/mrp_bom_overview.xml @@ -6,6 +6,7 @@ bomQuantity="state.bomQuantity" uomName="uomName" variants="variants" + data="state.bomData" showOptions="state.showOptions" showVariants="showVariants" currentWarehouse="state.currentWarehouse" diff --git a/addons/mrp/static/src/components/bom_overview_control_panel/mrp_bom_overview_control_panel.js b/addons/mrp/static/src/components/bom_overview_control_panel/mrp_bom_overview_control_panel.js index 9471c42be04..4ab5398f78b 100644 --- a/addons/mrp/static/src/components/bom_overview_control_panel/mrp_bom_overview_control_panel.js +++ b/addons/mrp/static/src/components/bom_overview_control_panel/mrp_bom_overview_control_panel.js @@ -4,6 +4,7 @@ import { ControlPanel } from "@web/search/control_panel/control_panel"; import { BomOverviewDisplayFilter } from "../bom_overview_display_filter/mrp_bom_overview_display_filter"; import { Dropdown } from "@web/core/dropdown/dropdown"; import { DropdownItem } from "@web/core/dropdown/dropdown_item"; +import { Many2XAutocomplete } from "@web/views/fields/relational_utils"; const { Component } = owl; @@ -29,6 +30,11 @@ export class BomOverviewControlPanel extends Component { clickUnfold() { this.env.overviewBus.trigger("unfold-all"); } + + getDomain() { + const keys = Object.keys(this.props.variants); + return [['id', 'in', keys]]; + } } BomOverviewControlPanel.template = "mrp.BomOverviewControlPanel"; @@ -37,12 +43,14 @@ BomOverviewControlPanel.components = { DropdownItem, ControlPanel, BomOverviewDisplayFilter, + Many2XAutocomplete, }; BomOverviewControlPanel.props = { bomQuantity: Number, showOptions: Object, showVariants: { type: Boolean, optional: true }, variants: { type: Object, optional: true }, + data: { type: Object, optional: true }, showUom: { type: Boolean, optional: true }, uomName: { type: String, optional: true }, currentWarehouse: Object, diff --git a/addons/mrp/static/src/components/bom_overview_control_panel/mrp_bom_overview_control_panel.xml b/addons/mrp/static/src/components/bom_overview_control_panel/mrp_bom_overview_control_panel.xml index 162f84d8a9d..bfbbc891e5a 100644 --- a/addons/mrp/static/src/components/bom_overview_control_panel/mrp_bom_overview_control_panel.xml +++ b/addons/mrp/static/src/components/bom_overview_control_panel/mrp_bom_overview_control_panel.xml @@ -29,7 +29,7 @@
Variant
diff --git a/addons/mrp/static/src/mrp_forecasted/forecasted_buttons.js b/addons/mrp/static/src/mrp_forecasted/forecasted_buttons.js index ed563727962..6aecd3a799b 100644 --- a/addons/mrp/static/src/mrp_forecasted/forecasted_buttons.js +++ b/addons/mrp/static/src/mrp_forecasted/forecasted_buttons.js @@ -18,6 +18,7 @@ patch(ForecastedButtons.prototype, 'mrp.ForecastedButtons',{ return this.actionService.doAction("mrp.action_report_mrp_bom", { additionalContext: { active_id: this.bomId, + active_product_id: this.productId, }, }); }