summaryrefslogtreecommitdiff
path: root/addons/website_sale/controllers/main.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2019-07-29 14:10:30 +0200
committerChristophe Simonis <chs@odoo.com>2019-07-29 14:10:30 +0200
commitd5e1fd16b4fd796cc25b2b2d694dadb375110ce7 (patch)
tree35d130b4161985cd9ca3071a59980b52e8401be5 /addons/website_sale/controllers/main.py
parentae71f95371b4a5c99c10a23e3553c5badc45a1ac (diff)
parentcda4f3c308ca233aead81f5ae97d250b5b7bf82f (diff)
[MERGE] forward port branch saas-12.4 up to cda4f3c308c
Diffstat (limited to 'addons/website_sale/controllers/main.py')
-rw-r--r--addons/website_sale/controllers/main.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py
index 46fdba8813f..823011b0d03 100644
--- a/addons/website_sale/controllers/main.py
+++ b/addons/website_sale/controllers/main.py
@@ -374,9 +374,11 @@ class WebsiteSale(http.Controller):
@http.route(['/shop/pricelist'], type='http', auth="public", website=True, sitemap=False)
def pricelist(self, promo, **post):
redirect = post.get('r', '/shop/cart')
- pricelist = request.env['product.pricelist'].sudo().search([('code', '=', promo)], limit=1)
- if not pricelist or (pricelist and not request.website.is_pricelist_available(pricelist.id)):
- return request.redirect("%s?code_not_available=1" % redirect)
+ # empty promo code is used to reset/remove pricelist (see `sale_get_order()`)
+ if promo:
+ pricelist = request.env['product.pricelist'].sudo().search([('code', '=', promo)], limit=1)
+ if (not pricelist or (pricelist and not request.website.is_pricelist_available(pricelist.id))):
+ return request.redirect("%s?code_not_available=1" % redirect)
request.website.sale_get_order(code=promo)
return request.redirect(redirect)
@@ -712,6 +714,8 @@ class WebsiteSale(http.Controller):
if mode[1] == 'billing':
order.partner_id = partner_id
order.onchange_partner_id()
+ # This is the *only* thing that the front end user will see/edit anyway when choosing billing address
+ order.partner_invoice_id = partner_id
if not kw.get('use_same'):
kw['callback'] = kw.get('callback') or \
(not order.only_services and (mode[0] == 'edit' and '/shop/checkout' or '/shop/address'))