diff --git a/addons/sale_purchase/models/sale_order_line.py b/addons/sale_purchase/models/sale_order_line.py index d2806315ab3..e566200d5ca 100644 --- a/addons/sale_purchase/models/sale_order_line.py +++ b/addons/sale_purchase/models/sale_order_line.py @@ -177,8 +177,13 @@ class SaleOrderLine(models.Model): else: product_ctx.update({'partner_id': purchase_order.partner_id.id}) + product = self.product_id.with_context(**product_ctx) + name = product.display_name + if product.description_purchase: + name += '\n' + product.description_purchase + return { - 'name': self.product_id.with_context(**product_ctx).display_name, + 'name': name, 'product_qty': purchase_qty_uom, 'product_id': self.product_id.id, 'product_uom': self.product_id.uom_po_id.id, diff --git a/addons/sale_purchase/tests/test_sale_purchase.py b/addons/sale_purchase/tests/test_sale_purchase.py index bf79a3859a5..afd4d238064 100644 --- a/addons/sale_purchase/tests/test_sale_purchase.py +++ b/addons/sale_purchase/tests/test_sale_purchase.py @@ -227,6 +227,9 @@ class TestSalePurchase(TestCommonSalePurchaseNoChart): self.assertEqual(purchase_line2.product_qty, delta, "The quantity of the new PO line is the quantity added on the Sale Line, after first PO confirmation") def test_pol_description(self): + """ + test cases when product names are different from how the vendor refers to, which is allowed + """ service = self.env['product.product'].create({ 'name': 'Super Product', 'type': 'service',