summaryrefslogtreecommitdiff
path: root/addons/delivery/models
diff options
context:
space:
mode:
authorPierre Masereel <pim@odoo.com>2019-09-10 12:57:37 +0000
committerJoseph Caburnay <jcb@odoo.com>2019-09-12 05:28:49 +0000
commitdc2e990aec67676a316566a5071ea28fb94b28f1 (patch)
tree80af6e109da28150fe41c20139e9f71b39942c6f /addons/delivery/models
parent26b692cbe299dc365b883721531fb6d13980ddd4 (diff)
[FIX] delivery: get correct carrier for invoicing policy
The carrier argument passed to the _create_delivery_line function can be different to the carrier already existing in the sale order so we should use the correct setting of carrier where we are calling the function. closes odoo/odoo#36424 Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
Diffstat (limited to 'addons/delivery/models')
-rw-r--r--addons/delivery/models/sale_order.py6
-rw-r--r--addons/delivery/models/stock_picking.py2
2 files changed, 4 insertions, 4 deletions
diff --git a/addons/delivery/models/sale_order.py b/addons/delivery/models/sale_order.py
index 2d263e39d8f..3d26f6843ef 100644
--- a/addons/delivery/models/sale_order.py
+++ b/addons/delivery/models/sale_order.py
@@ -48,7 +48,7 @@ class SaleOrder(models.Model):
self._remove_delivery_line()
for order in self:
- order._create_delivery_line(carrier, amount, price_unit_in_description=self.carrier_id.invoice_policy == 'real')
+ order._create_delivery_line(carrier, amount)
return True
def action_open_delivery_wizard(self):
@@ -73,7 +73,7 @@ class SaleOrder(models.Model):
}
}
- def _create_delivery_line(self, carrier, price_unit, price_unit_in_description=False):
+ def _create_delivery_line(self, carrier, price_unit):
SaleOrderLine = self.env['sale.order.line']
if self.partner_id:
# set delivery detail in the customer language
@@ -101,7 +101,7 @@ class SaleOrder(models.Model):
'tax_id': [(6, 0, taxes_ids)],
'is_delivery': True,
}
- if price_unit_in_description:
+ if carrier.invoice_policy == 'real':
values['price_unit'] = 0
values['name'] += _(' (Estimated Cost: %s )') % self._format_currency_amount(price_unit)
else:
diff --git a/addons/delivery/models/stock_picking.py b/addons/delivery/models/stock_picking.py
index 66bea256e92..2b2da5777b0 100644
--- a/addons/delivery/models/stock_picking.py
+++ b/addons/delivery/models/stock_picking.py
@@ -171,7 +171,7 @@ class StockPicking(models.Model):
if sale_order and self.carrier_id.invoice_policy == 'real' and self.carrier_price:
delivery_lines = sale_order.order_line.filtered(lambda l: l.is_delivery and l.currency_id.is_zero(l.price_unit) and l.product_id == self.carrier_id.product_id)
if not delivery_lines:
- sale_order._create_delivery_line(self.carrier_id, self.carrier_price, price_unit_in_description=False)
+ sale_order._create_delivery_line(self.carrier_id, self.carrier_price)
else:
delivery_line = delivery_lines[0]
delivery_line[0].write({