diff --git a/addons/sale_product_configurator/static/src/js/product_configurator_dialog/product_configurator_dialog.js b/addons/sale_product_configurator/static/src/js/product_configurator_dialog/product_configurator_dialog.js index 6abf9c3e729..b2286df0b21 100644 --- a/addons/sale_product_configurator/static/src/js/product_configurator_dialog/product_configurator_dialog.js +++ b/addons/sale_product_configurator/static/src/js/product_configurator_dialog/product_configurator_dialog.js @@ -400,7 +400,7 @@ export class ProductConfiguratorDialog extends Component { let noVariantCommands = [{ operation: "DELETE_ALL" }]; const noVariantPTAVIds = product.attribute_lines.filter( - ptal => ptal.create_variant === "no_variant" + ptal => ptal.create_variant === "no_variant" && ptal.attribute_values.length > 1 ).map(ptal => { return {id: ptal.selected_attribute_value_id}}); if (noVariantPTAVIds.length) noVariantCommands.push({ operation: "ADD_M2M", diff --git a/addons/test_sale_product_configurators/static/tests/tours/product_configurator_advanced_ui.js b/addons/test_sale_product_configurators/static/tests/tours/product_configurator_advanced_ui.js index 709db18b355..e13f6d1ba74 100644 --- a/addons/test_sale_product_configurators/static/tests/tours/product_configurator_advanced_ui.js +++ b/addons/test_sale_product_configurators/static/tests/tours/product_configurator_advanced_ui.js @@ -72,7 +72,7 @@ registry.category("web_tour.tours").add('sale_product_configurator_advanced_tour }, { trigger: 'button:contains(Confirm)', }, { - trigger: 'td.o_data_cell:contains("Customizable Desk (TEST) (Custom, White, PAV9, PAV5, PAV1)")', + trigger: 'td.o_data_cell:contains("Customizable Desk (TEST) (Custom, White, PAV9, PAV5, PAV1)"):not(:contains("PA9: Single PAV"))', isCheck: true, }, { trigger: 'td.o_data_cell:contains("Legs: Custom: Custom 1")', diff --git a/addons/test_sale_product_configurators/tests/test_sale_product_configurator.py b/addons/test_sale_product_configurators/tests/test_sale_product_configurator.py index ebc69dcda65..55153ae452a 100644 --- a/addons/test_sale_product_configurators/tests/test_sale_product_configurator.py +++ b/addons/test_sale_product_configurators/tests/test_sale_product_configurator.py @@ -72,6 +72,19 @@ class TestProductConfiguratorUi(HttpCase, TestProductConfiguratorCommon): 'attribute_id': product_attribute.id } for i in range(1, 11) for product_attribute in product_attributes]) + product_attribute_no_variant_single_pav = self.env['product.attribute'].create({ + 'name': 'PA9', + 'display_type': 'radio', + 'create_variant': 'no_variant' + }) + + self.env['product.attribute.value'].create({ + 'name': 'Single PAV', + 'attribute_id': product_attribute_no_variant_single_pav.id + }) + + product_attributes += product_attribute_no_variant_single_pav + product_template = self.product_product_custo_desk self.env['product.template.attribute.line'].create([{