From 474d63d6b9e0b4134e509b78bb32e7ecdebc61bf Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Tue, 17 Jun 2014 09:44:32 +0200 Subject: [PATCH] [FIX] website_sale: fix keep query and clean code --- addons/website_sale/controllers/main.py | 31 +++++++------------ .../static/src/js/website_sale.js | 1 - addons/website_sale/views/templates.xml | 8 ++--- 3 files changed, 15 insertions(+), 25 deletions(-) diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 8ed76d20a97..8b7adb6c4b3 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -125,7 +125,8 @@ class website_sale(http.Controller): if category: domain += [('product_variant_ids.public_categ_ids', 'child_of', int(category))] - attrib_values = [map(int,v.split(",")) for v in request.httprequest.args.getlist('attrib') if v] + attrib_list = request.httprequest.args.getlist('attrib') + attrib_values = [map(int,v.split(",")) for v in attrib_list if v] attrib_set = set([v[1] for v in attrib_values]) if attrib_values: @@ -144,8 +145,7 @@ class website_sale(http.Controller): if attrib: domain += [('attribute_line_ids.value_ids', 'in', ids)] - attrib_query = set(["%s,%s" % (v[0],v[1]) for v in attrib_values]) - keep = QueryURL('/shop', category=category and int(category), search=search, attrib=attrib_query) + keep = QueryURL('/shop', category=category and int(category), search=search, attrib=attrib_list) if not context.get('pricelist'): context['pricelist'] = int(self.get_pricelist()) @@ -200,11 +200,11 @@ class website_sale(http.Controller): if category: category = category_obj.browse(request.cr, request.uid, int(category), context=request.context) - attrib_values = [map(int,v.split(",")) for v in request.httprequest.args.getlist('attrib') if v] + attrib_list = request.httprequest.args.getlist('attrib') + attrib_values = [map(int,v.split(",")) for v in attrib_list if v] attrib_set = set([v[1] for v in attrib_values]) - attrib_query = set(["%s,%s" % (v[0],v[1]) for v in attrib_values]) - keep = QueryURL('/shop', category=category and category.id, search=search, attrib=attrib_query) + keep = QueryURL('/shop', category=category and category.id, search=search, attrib=attrib_list) category_ids = category_obj.search(cr, uid, [], context=context) category_list = category_obj.name_get(cr, uid, category_ids, context=context) @@ -216,8 +216,7 @@ class website_sale(http.Controller): optional_product_ids = [] for p in product.optional_product_ids: - ctx = context.copy() - ctx.update(active_id=p.id) + ctx = dict(context, active_id=p.id) optional_product_ids.append(template_obj.browse(cr, uid, p.id, context=ctx)) values = { @@ -253,7 +252,7 @@ class website_sale(http.Controller): values = { 'order': order, - 'suggested_products': [] + 'suggested_products': [], } if order: if not context.get('pricelist'): @@ -269,17 +268,9 @@ class website_sale(http.Controller): if add_qty or set_qty: order._cart_update(product_id=int(product_id), add_qty=int(add_qty), set_qty=int(set_qty)) if goto_shop: - path = "/shop" - l = list() - for k,v in kw.items(): - if v and k in ["category", "search", "attrib"]: - if isinstance(v, list) or isinstance(v, set): - l.append(werkzeug.url_encode([(k,i) for i in v])) - else: - l.append(werkzeug.url_encode([(k,v)])) - if l: - path += '?' + '&'.join(l) - return request.redirect(path) + attrib_list = request.httprequest.args.getlist('attrib') + keep = QueryURL('/shop', category=kw.get('category'), search=kw.get('search'), attrib=attrib_list) + return request.redirect( keep() ) else: return request.redirect("/shop/cart") diff --git a/addons/website_sale/static/src/js/website_sale.js b/addons/website_sale/static/src/js/website_sale.js index f70470c32d9..e865a8e2486 100644 --- a/addons/website_sale/static/src/js/website_sale.js +++ b/addons/website_sale/static/src/js/website_sale.js @@ -63,7 +63,6 @@ $(document).ready(function () { } var value = $price.data("price") + parseFloat($label.find(".badge span").text() || 0); var dec = value % 1; - console.log(dec); $price.html(value + (dec < 0.01 ? ".00" : (dec < 1 ? "0" : "") )); }); // hightlight selected color diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index b6cd857ae88..20ec8ac3c37 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -65,12 +65,12 @@
Sale
-
-
+
@@ -125,7 +125,7 @@
-
+ @@ -536,7 +536,7 @@
-

Select Your Options

+

Select Your Options