Skip to content
Snippets Groups Projects
Commit 3b256ba4 authored by Nans Lefebvre's avatar Nans Lefebvre
Browse files

[FIX] sale_margin: make sale.order.line create override handle section lines

The sale.order.line model has a 'display_type' field since 762adede
that specify if the line is a dummy line used for presentation purposes.
These dummy lines are 'section' lines or 'note' lines.
If it is the case, the line does not have a product_id.
The sale_margin module overrides the create method of lines to add the margin
computation, assuming there are no dummy lines since that part of the code
is older than the new feature.
As a result the line creation would crash on a key error on dummy lines.

We now skip the margin computation if the line has a display_type.

opw 1939881

closes odoo/odoo#31035
parent f0b3e847
Branches
Tags
No related merge requests found
......@@ -46,7 +46,7 @@ class SaleOrderLine(models.Model):
# Calculation of the margin for programmatic creation of a SO line. It is therefore not
# necessary to call product_id_change_margin manually
if 'purchase_price' not in vals:
if 'purchase_price' not in vals and ('display_type' not in vals or not vals['display_type']):
order_id = self.env['sale.order'].browse(vals['order_id'])
product_id = self.env['product.product'].browse(vals['product_id'])
product_uom_id = self.env['uom.uom'].browse(vals['product_uom'])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment