diff options
| author | Pierre Masereel <pim@odoo.com> | 2019-08-20 12:38:20 +0000 |
|---|---|---|
| committer | Pierre Masereel <pim@odoo.com> | 2019-08-20 12:52:05 +0000 |
| commit | 4a6d666246b7b679d8c13060bf2cd9e9632a4a10 (patch) | |
| tree | d82b29d3a34c339dbfccaa1c23b4940d2da6b3c1 | |
| parent | 4323008540f4f1822be4c41413d4d897993c3ab1 (diff) | |
[FIX] delivery: set carrier on order when carrier line added
When you are adding a line on your sale order that is a delivery line,
the carrier is not always set on the sale order which means that when
the carrier is not explicitly set on the sale order, the carrier won't
be set on picking created from the sale order.
When you are using the wizard on sale order, it works, but when the
carrier is selected on the e-commerce, it is not set on the sale order.
To avoid such difference in behavior, we are writing the carrier_id of
sale order in the function 'set_delivery_line' insread of the wizard and
e-commerce.
closes odoo/odoo#35855
Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
| -rw-r--r-- | addons/delivery/models/sale_order.py | 1 | ||||
| -rw-r--r-- | addons/delivery/wizard/choose_delivery_carrier.py | 1 |
2 files changed, 1 insertions, 1 deletions
diff --git a/addons/delivery/models/sale_order.py b/addons/delivery/models/sale_order.py index 509f47dd1a4..41d098c6dcb 100644 --- a/addons/delivery/models/sale_order.py +++ b/addons/delivery/models/sale_order.py @@ -43,6 +43,7 @@ class SaleOrder(models.Model): self._remove_delivery_line() for order in self: + order.carrier_id = carrier.id order._create_delivery_line(carrier, amount, price_unit_in_description=self.carrier_id.invoice_policy == 'real') return True diff --git a/addons/delivery/wizard/choose_delivery_carrier.py b/addons/delivery/wizard/choose_delivery_carrier.py index c7bac396c61..9953d15912e 100644 --- a/addons/delivery/wizard/choose_delivery_carrier.py +++ b/addons/delivery/wizard/choose_delivery_carrier.py @@ -74,6 +74,5 @@ class ChooseDeliveryCarrier(models.TransientModel): } def button_confirm(self): - self.order_id.carrier_id = self.carrier_id self.order_id.delivery_message = self.delivery_message self.order_id.set_delivery_line(self.carrier_id, self.delivery_price) |
