diff --git a/addons/sale_product_configurator/static/src/js/product_configurator_controller.js b/addons/sale_product_configurator/static/src/js/product_configurator_controller.js index c46ae4b8265..0fd8b042d6e 100644 --- a/addons/sale_product_configurator/static/src/js/product_configurator_controller.js +++ b/addons/sale_product_configurator/static/src/js/product_configurator_controller.js @@ -247,7 +247,7 @@ var ProductConfiguratorFormController = FormController.extend({ _onModalClose: function () { if (this.renderer.state.context.configuratorMode === 'options' && this._wasConfirmed !== true) { - this._onAddRootProductOnly(); + this.do_action({type: 'ir.actions.act_window_close'}); } }, diff --git a/addons/sale_product_configurator/static/src/js/product_configurator_widget.js b/addons/sale_product_configurator/static/src/js/product_configurator_widget.js index cf3c4730e26..318147bd583 100644 --- a/addons/sale_product_configurator/static/src/js/product_configurator_widget.js +++ b/addons/sale_product_configurator/static/src/js/product_configurator_widget.js @@ -152,8 +152,8 @@ ProductConfiguratorWidget.include({ if (result && !result.special) { self._addProducts(result, dataPointId); } else { - // is this restoreProductTemplateId ability useful ??? if (self.restoreProductTemplateId) { + // if configurator opened in edit mode. self.trigger_up('field_changed', { dataPointID: dataPointId, preventProductIdCheck: true, @@ -161,6 +161,16 @@ ProductConfiguratorWidget.include({ product_template_id: self.restoreProductTemplateId.data } }); + } else { + // if configurator opened to create line: + // destroy line if configurator closed during configuration process. + self.trigger_up('field_changed', { + dataPointID: dataPointId, + changes: { + product_template_id: false, + product_id: false, + }, + }); } } }