From 5c9cea4ee7eef0341e2a67ea3175cb1270d67896 Mon Sep 17 00:00:00 2001 From: Jeremy Kersten Date: Fri, 24 Feb 2017 20:25:46 +0100 Subject: [PATCH] [FIX] website_sale: remove duplicated code for coupon and call from enterprise route /shop/pricelist_payment was only defined in coupon module from enterprise. Add optional r param in pricelist controller to allow to redirect into a specific page --- addons/website_sale/controllers/main.py | 10 ++- .../static/src/css/website_sale.css | 5 ++ .../static/src/css/website_sale.sass | 3 + addons/website_sale/views/templates.xml | 66 +++++++++---------- 4 files changed, 43 insertions(+), 41 deletions(-) diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index d5fa0a750e0..75ff784675a 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -322,12 +322,13 @@ class WebsiteSale(http.Controller): @http.route(['/shop/pricelist'], type='http', auth="public", website=True) def pricelist(self, promo, **post): + redirect = post.get('r', '/shop/cart') pricelist = request.env['product.pricelist'].sudo().search([('code', '=', promo)], limit=1) - if pricelist and not request.website.is_pricelist_available(pricelist.id): - return request.redirect("/shop/cart?code_not_available=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("/shop/cart") + return request.redirect(redirect) @http.route(['/shop/cart'], type='http', auth="public", website=True) def cart(self, **post): @@ -353,9 +354,6 @@ class WebsiteSale(http.Controller): if post.get('type') == 'popover': return request.render("website_sale.cart_popover", values) - if post.get('code_not_available'): - values['code_not_available'] = post.get('code_not_available') - return request.render("website_sale.cart", values) @http.route(['/shop/cart/update'], type='http', auth="public", methods=['POST'], website=True, csrf=False) diff --git a/addons/website_sale/static/src/css/website_sale.css b/addons/website_sale/static/src/css/website_sale.css index 1e07076f96b..bf1f19a614d 100644 --- a/addons/website_sale/static/src/css/website_sale.css +++ b/addons/website_sale/static/src/css/website_sale.css @@ -629,3 +629,8 @@ a.no-decoration { .break-word { word-wrap: break-word; } + +#coupon_box form { + max-width: 300px; +} + diff --git a/addons/website_sale/static/src/css/website_sale.sass b/addons/website_sale/static/src/css/website_sale.sass index 11acccca662..225a584a537 100644 --- a/addons/website_sale/static/src/css/website_sale.sass +++ b/addons/website_sale/static/src/css/website_sale.sass @@ -550,3 +550,6 @@ a.no-decoration .break-word word-wrap: break-word + +#coupon_box form + max-width: 300px diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index 8ccbf410bf9..a1c634dd219 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -1029,24 +1029,31 @@ + + @@ -1350,15 +1357,24 @@ -
-
+
+
+ +

+ Have a coupon code? Fill in this field and apply. +

+ + /shop/payment + +
+
- +
-
+

Payment Method:

    @@ -1439,26 +1455,6 @@ - -