[FIX] website_sale_coupon_delivery: traceback when going back

Issue

        - Install eCommerce, Delivery Costs & Delivery Coupon
        - Add a delivery method for US only
        - Publish the delivery method
        - Logout
        - Order something, select your delivery method
          and pay with wire transfer
        - When it's done, click 2 times on the browser
          back button

	Traceback

Cause

	When going back, the order is empty and
	we are doing self.ensure_one() on it
	when looking for free shipping lines

Solution

	Check if the order is not empty before
	looking for free shipping lines

OPW-2243736

closes odoo/odoo#51756

X-original-commit: 7b37c9d8ac1ccb1b6684308cf4dedf3a4b6bed11
Signed-off-by: Jason Van Malder (jvm) <jvm@odoo.com>
This commit is contained in:
jvm-odoo
2020-05-25 07:31:06 +00:00
parent 0e7102587e
commit a19684af95
@@ -11,8 +11,12 @@ class WebsiteSaleCouponDelivery(WebsiteSaleDelivery):
Monetary = request.env['ir.qweb.field.monetary']
result = super(WebsiteSaleCouponDelivery, self).update_eshop_carrier(**post)
order = request.website.sale_get_order()
order.recompute_coupon_lines()
free_shipping_lines = order._get_free_shipping_lines()
free_shipping_lines = None
if order:
order.recompute_coupon_lines()
free_shipping_lines = order._get_free_shipping_lines()
if free_shipping_lines:
currency = order.currency_id
amount_free_shipping = sum(free_shipping_lines.mapped('price_subtotal'))