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 @@
+
+
+
+
+
+
+
Promo
@@ -89,9 +96,8 @@
pull-right
@@ -251,17 +257,10 @@