From ec39d875b30c2dfb898c7a1508a8eab853c4d3d0 Mon Sep 17 00:00:00 2001 From: BenjaHe Date: Mon, 8 Feb 2021 17:32:39 +0100 Subject: [PATCH 1/2] [13.0][FIX]Custom values when update the config Add the custom values In the configuration wizard when the user want to update a configuration from a sale order line. --- .../wizard/product_configurator.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/product_configurator_sale/wizard/product_configurator.py b/product_configurator_sale/wizard/product_configurator.py index ebdf962f..e51f2387 100644 --- a/product_configurator_sale/wizard/product_configurator.py +++ b/product_configurator_sale/wizard/product_configurator.py @@ -53,3 +53,25 @@ def action_config_done(self): else: self.order_id.write({"order_line": [(0, 0, values)]}) return + + @api.model + def create(self, vals): + if self.env.context.get('default_order_line_id', False): + sale_line = self.env["sale.order.line"].browse( + self.env.context['default_order_line_id']) + if sale_line.custom_value_ids: + vals['custom_value_ids'] = self._get_custom_values( + sale_line.config_session_id) + res = super(ProductConfiguratorSale, self).create(vals) + return res + + def _get_custom_values(self, session): + custom_values = [(5,)] + [(0, 0, { + 'attribute_id': value_custom.attribute_id.id, + 'value': value_custom.value, + 'attachment_ids': [(4, attach.id) + for attach in value_custom.attachment_ids], + }) for value_custom in session.custom_value_ids] + return custom_values + + From 99fd827437e4f081dfcaee17483a1188b7ed3a4d Mon Sep 17 00:00:00 2001 From: BenjaHe Date: Mon, 8 Feb 2021 17:35:20 +0100 Subject: [PATCH 2/2] Update product_configurator.py --- product_configurator_sale/wizard/product_configurator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_configurator_sale/wizard/product_configurator.py b/product_configurator_sale/wizard/product_configurator.py index e51f2387..1b544a0c 100644 --- a/product_configurator_sale/wizard/product_configurator.py +++ b/product_configurator_sale/wizard/product_configurator.py @@ -1,4 +1,4 @@ -from odoo import fields, models +from odoo import fields, models, api class ProductConfiguratorSale(models.TransientModel):