diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index c25a64e7b22..e6326832c55 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -264,7 +264,7 @@ class Ecommerce(http.Controller): post.pop(key) return request.redirect("/shop/?filter=%s%s%s%s" % ( - simplejson.dumps(filter).replace(" ", ""), + simplejson.dumps(filter), add_filter and "&add_filter=%s" % add_filter or "", post.get("search") and "&search=%s" % post.get("search") or "", post.get("category") and "&category=%s" % post.get("category") or "" @@ -331,7 +331,11 @@ class Ecommerce(http.Controller): 'Ecommerce': self, 'product_ids': product_ids, 'product_ids_for_holes': fill_hole, - 'search': post or dict(), + 'search': { + 'search': post.get('search') or '', + 'category': category, + 'filter': filter or '', + }, 'pager': pager, 'styles': styles, 'style_in_product': lambda style, product: style.id in [s.id for s in product.website_style_ids], @@ -364,7 +368,11 @@ class Ecommerce(http.Controller): 'category_list': category_list, 'main_object': product, 'product': product, - 'search': post or dict(), + 'search': { + 'search': post.get('search') or '', + 'category': post.get('category') or '', + 'filter': post.get('filter') or '', + } } return request.website.render("website_sale.product", values) diff --git a/addons/website_sale/views/website_sale.xml b/addons/website_sale/views/website_sale.xml index 2c3154ac3d5..37ebe3cda41 100644 --- a/addons/website_sale/views/website_sale.xml +++ b/addons/website_sale/views/website_sale.xml @@ -33,6 +33,13 @@ + +