[FIX] {purchase_}stock, product: base product name on supplier
Suppose a product with several suppliers, all with the same partner. On the purchase order, the product description will always be based on the last supplier To reproduce the issue: 1. Create a vendor V 2. Create a product P: - Type: Storable - In Purchase, add a line L01: - Vendor: V - Vendor Product Name: Name01 - Vendor Product Code: C01 - Quantity: 1 - Price: 10 - In Purchase, add a second line L02: - Vendor: V - Vendor Product Name: Name02 - Vendor Product Code: C02 - Quantity: 20 - Price: 2 - Once P is saved, ensure the lines order in the purchase tab: - L01 - L02 3. Add a reordering rule on P: - Min: 1 4. Run the scheduler 5. Open the generated PO Error: The description is incorrect ("[C02] Name02" instead of "[C01] Name01") When computing the display name of the product, https://github.com/odoo/odoo/blob/7691567286869ca65e63fc79c2cee11e1f415fcb/odoo/models.py#L1728-L1730 `name_get` returns a tuples list: `[(37, '[C01] Name01'), (37, '[C02] Name02')]` where `37` is the product identifier. This list is then converted into a dictionary and here is the issue: it will use the last tuple to define the value for key `37`, i.e. "[C02] Name02". Therefore, `name_get` should return the correct name, and only this one. Another issue could be highlighted: when the user changes the quantity of the purchase order line, if another supplier info is selected, the description won't be updated (for the same reason as above) OPW-2702616 closes odoo/odoo#82049 Signed-off-by:Tiffany Chang <tic@odoo.com>
Showing
- addons/product/models/product.py 4 additions, 4 deletionsaddons/product/models/product.py
- addons/purchase/models/purchase.py 3 additions, 1 deletionaddons/purchase/models/purchase.py
- addons/purchase_stock/tests/test_purchase_order.py 42 additions, 0 deletionsaddons/purchase_stock/tests/test_purchase_order.py
Loading
Please register or sign in to comment