diff --git a/sale_elaboration/__manifest__.py b/sale_elaboration/__manifest__.py index 7b0de2eb565..20b8cc3cd63 100644 --- a/sale_elaboration/__manifest__.py +++ b/sale_elaboration/__manifest__.py @@ -3,7 +3,7 @@ { 'name': 'Sale Elaboration', 'summary': 'Set an elaboration for any sale line', - 'version': '11.0.1.0.0', + 'version': '11.0.1.0.1', 'development_status': 'Beta', 'category': 'Sale', 'website': 'https://github.com/OCA/sale-workflow', diff --git a/sale_elaboration/models/sale_order.py b/sale_elaboration/models/sale_order.py index 78fa621cf9d..7471a4a649a 100644 --- a/sale_elaboration/models/sale_order.py +++ b/sale_elaboration/models/sale_order.py @@ -70,3 +70,9 @@ def _prepare_invoice_line(self, qty): if self.is_elaboration: vals['name'] = '{} - {}'.format(self.order_id.name, self.name) return vals + + @api.onchange('product_id') + def product_id_change(self): + result = super().product_id_change() + self.is_elaboration = self.product_id.is_elaboration + return result diff --git a/sale_elaboration/tests/test_sale_elaboration.py b/sale_elaboration/tests/test_sale_elaboration.py index 102ef19557a..d0e9d1e1f0a 100644 --- a/sale_elaboration/tests/test_sale_elaboration.py +++ b/sale_elaboration/tests/test_sale_elaboration.py @@ -20,12 +20,14 @@ def setUpClass(cls): 'type': 'service', 'list_price': 50.0, 'invoice_policy': 'order', + 'is_elaboration': True, }) cls.product_elaboration_B = cls.env['product.product'].create({ 'name': 'Product Elaboration B', 'type': 'service', 'list_price': 25.0, 'invoice_policy': 'order', + 'is_elaboration': True, }) cls.pricelist = cls.env['product.pricelist'].create({ 'name': 'Test pricelist',