diff --git a/addons/sale/controllers/variant.py b/addons/sale/controllers/variant.py index 06958dea7e0..c8f1ed9cd0c 100644 --- a/addons/sale/controllers/variant.py +++ b/addons/sale/controllers/variant.py @@ -12,7 +12,9 @@ class VariantController(http.Controller): def get_combination_info(self, product_template_id, product_id, combination, add_qty, pricelist_id, **kw): combination = request.env['product.template.attribute.value'].browse(combination) pricelist = self._get_pricelist(pricelist_id) - ProductTemplate = request.env['product.template'] + cids = request.httprequest.cookies.get('cids', str(request.env.user.company_id.id)) + allowed_company_ids = [int(cid) for cid in cids.split(',')] + ProductTemplate = request.env['product.template'].with_context(allowed_company_ids=allowed_company_ids) if 'context' in kw: ProductTemplate = ProductTemplate.with_context(**kw.get('context')) product_template = ProductTemplate.browse(int(product_template_id)) diff --git a/addons/sale_product_configurator/controllers/main.py b/addons/sale_product_configurator/controllers/main.py index 580d3feeda6..541246ba703 100644 --- a/addons/sale_product_configurator/controllers/main.py +++ b/addons/sale_product_configurator/controllers/main.py @@ -61,9 +61,6 @@ class ProductConfiguratorController(http.Controller): combination = request.env['product.template.attribute.value'].browse(variant_values) add_qty = int(kw.get('add_qty', 1)) - if 'kwargs' in kw and 'context' in kw['kwargs']: - product = product.with_context(**kw['kwargs']['context']) - no_variant_attribute_values = combination.filtered( lambda product_template_attribute_value: product_template_attribute_value.attribute_id.create_variant == 'no_variant' ) 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 18647503c9d..825aebc630f 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 @@ -129,7 +129,8 @@ var ProductConfiguratorFormController = FormController.extend({ ), product_no_variant_attribute_value_ids: changed ? [] : this._getAttributeValueIds( data.product_no_variant_attribute_value_ids - ) + ), + context: this.getSession().user_context, } }).then(function (configurator) { self.renderer.configuratorHtml = configurator; diff --git a/addons/sale_product_configurator/static/src/js/product_configurator_modal.js b/addons/sale_product_configurator/static/src/js/product_configurator_modal.js index 48895db2f05..c2981569043 100644 --- a/addons/sale_product_configurator/static/src/js/product_configurator_modal.js +++ b/addons/sale_product_configurator/static/src/js/product_configurator_modal.js @@ -80,11 +80,7 @@ var OptionalProductsModal = Dialog.extend(ServicesMixin, VariantMixin, { pricelist_id: self.pricelistId || false, add_qty: self.rootProduct.quantity, force_dialog: self.forceDialog, - kwargs: { - context: _.extend({ - 'quantity': self.rootProduct.quantity - }, this.context), - } + context: _.extend({'quantity': self.rootProduct.quantity}, this.context), }) .then(function (modalContent) { if (modalContent) {