From 62e33d0441cac6f1585ccc3acffc1f1fea42aaad Mon Sep 17 00:00:00 2001 From: Matt Taylor Date: Mon, 10 Apr 2017 17:27:08 -0600 Subject: [PATCH 1/8] [FIX] Add support for the sale_margin module Adding configured sales order lines fails when sale_margin module is installed. The sale_margin module requires the sales order line to include product_uom: odoo/addons/sale_margin/models/sale_order.py --- product_configurator_wizard/wizard/product_configurator.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/product_configurator_wizard/wizard/product_configurator.py b/product_configurator_wizard/wizard/product_configurator.py index 954e22ba..c96d0bab 100644 --- a/product_configurator_wizard/wizard/product_configurator.py +++ b/product_configurator_wizard/wizard/product_configurator.py @@ -792,10 +792,8 @@ def _extra_line_values(self, so, product, new=True): created or edited lines.""" vals = {} if new: - vals.update({ - 'name': product.display_name, - 'product_uom': product.uom_id.id, - }) + vals.update({'name': product.display_name}) + vals.update({'product_uom': product.uom_id.id}) return vals @api.multi From 1c63da6f9517ca5fde25d54dba1d4aeaf61ca86e Mon Sep 17 00:00:00 2001 From: Matt Taylor Date: Tue, 11 Apr 2017 13:18:00 -0600 Subject: [PATCH 2/8] Pass single dict to update method --- product_configurator_wizard/wizard/product_configurator.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/product_configurator_wizard/wizard/product_configurator.py b/product_configurator_wizard/wizard/product_configurator.py index c96d0bab..954e22ba 100644 --- a/product_configurator_wizard/wizard/product_configurator.py +++ b/product_configurator_wizard/wizard/product_configurator.py @@ -792,8 +792,10 @@ def _extra_line_values(self, so, product, new=True): created or edited lines.""" vals = {} if new: - vals.update({'name': product.display_name}) - vals.update({'product_uom': product.uom_id.id}) + vals.update({ + 'name': product.display_name, + 'product_uom': product.uom_id.id, + }) return vals @api.multi From 8fd4cec2a187549a2dcbc9b15a42b2b9f2b07ca4 Mon Sep 17 00:00:00 2001 From: Matt Taylor Date: Mon, 10 Apr 2017 17:27:08 -0600 Subject: [PATCH 3/8] [FIX] Add support for the sale_margin module Adding configured sales order lines fails when sale_margin module is installed. The sale_margin module requires the sales order line to include product_uom: odoo/addons/sale_margin/models/sale_order.py --- product_configurator_wizard/wizard/product_configurator.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/product_configurator_wizard/wizard/product_configurator.py b/product_configurator_wizard/wizard/product_configurator.py index 954e22ba..c96d0bab 100644 --- a/product_configurator_wizard/wizard/product_configurator.py +++ b/product_configurator_wizard/wizard/product_configurator.py @@ -792,10 +792,8 @@ def _extra_line_values(self, so, product, new=True): created or edited lines.""" vals = {} if new: - vals.update({ - 'name': product.display_name, - 'product_uom': product.uom_id.id, - }) + vals.update({'name': product.display_name}) + vals.update({'product_uom': product.uom_id.id}) return vals @api.multi From ad76678311eb0138235d8288ede13498e1f162b7 Mon Sep 17 00:00:00 2001 From: Eric Lemire Date: Thu, 23 Mar 2017 11:46:19 -0400 Subject: [PATCH 4/8] Create new module to add product_configurator to purchase --- product_configurator/models/product.py | 2 + product_configurator/views/product_view.xml | 3 + .../wizard/product_configurator.py | 59 +++++++++++++++---- 3 files changed, 51 insertions(+), 13 deletions(-) diff --git a/product_configurator/models/product.py b/product_configurator/models/product.py index 3ceb2915..3c283914 100644 --- a/product_configurator/models/product.py +++ b/product_configurator/models/product.py @@ -11,6 +11,8 @@ class ProductTemplate(models.Model): config_ok = fields.Boolean(string='Can be Configured') + reuse_variant = fields.Boolean(string='Reuse variants if exists') + config_line_ids = fields.One2many( comodel_name='product.config.line', inverse_name='product_tmpl_id', diff --git a/product_configurator/views/product_view.xml b/product_configurator/views/product_view.xml index 1519dece..98dd45fa 100644 --- a/product_configurator/views/product_view.xml +++ b/product_configurator/views/product_view.xml @@ -43,6 +43,9 @@ + + +