diff --git a/addons/website/website.py b/addons/website/website.py
index 26ea8bbe99e..de0a36d8f68 100644
--- a/addons/website/website.py
+++ b/addons/website/website.py
@@ -70,7 +70,7 @@ class website(osv.osv):
}
return request.registry.get("ir.ui.view").render(request.cr, request.uid, template, values, context=context)
- def pager(self, url, total, page=1, step=30, scope=5):
+ def pager(self, url, total, page=1, step=30, scope=5, url_args=None):
# Compute Pager
d = {}
d["page_count"] = int(math.ceil(float(total) / step))
@@ -86,13 +86,18 @@ class website(osv.osv):
if pmax - pmin < scope:
pmin = pmax - scope > 0 and pmax - scope or 1
+ def get_url(page):
+ _url = "%spage/%s/" % (url, page)
+ if url_args:
+ _url = "%s?%s" % (_url, urllib.urlencode(url_args))
+ return _url
- d["page"] = {'url': "%spage/%s/" % (url, page), 'num': page}
- d["page_start"] = {'url': "%spage/%s/" % (url, pmin), 'num': pmin}
- d["page_end"] = {'url': "%spage/%s/" % (url, min(pmax, page+1)), 'num': min(pmax, page+1)}
+ d["page"] = {'url': get_url(page), 'num': page}
+ d["page_start"] = {'url': get_url(pmin), 'num': pmin}
+ d["page_end"] = {'url': get_url(min(pmax, page+1)), 'num': min(pmax, page+1)}
d["pages"] = []
for page in range(pmin, pmax+1):
- d["pages"].append({'url': "%spage/%s/" % (url, page), 'num': page})
+ d["pages"].append({'url': get_url(page), 'num': page})
return d
diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py
index aebc7b2d730..67833560fc6 100644
--- a/addons/website_sale/controllers/main.py
+++ b/addons/website_sale/controllers/main.py
@@ -61,9 +61,10 @@ class Ecommerce(http.Controller):
domain += [('website_published', '=', True)]
if post.get("search"):
- domain += ['|', '|',
+ domain += ['|', '|', '|',
('name', 'ilike', "%%%s%%" % post.get("search")),
('description', 'ilike', "%%%s%%" % post.get("search")),
+ ('description_website', 'ilike', "%%%s%%" % post.get("search")),
('pos_categ_id.name', 'ilike', "%%%s%%" % post.get("search"))]
if cat_id:
cat_id = int(cat_id)
@@ -71,7 +72,7 @@ class Ecommerce(http.Controller):
step = 20
product_count = len(product_obj.search(request.cr, request.uid, domain))
- pager = website.pager(url="/shop/category/%s/" % cat_id, total=product_count, page=page, step=step, scope=7)
+ pager = website.pager(url="/shop/category/%s/" % cat_id, total=product_count, page=page, step=step, scope=7, url_args=post)
product_ids = product_obj.search(request.cr, request.uid, domain, limit=step, offset=pager['offset'])
diff --git a/addons/website_sale/views/website_sale.xml b/addons/website_sale/views/website_sale.xml
index 8d3f5695c8c..9bd036b1865 100644
--- a/addons/website_sale/views/website_sale.xml
+++ b/addons/website_sale/views/website_sale.xml
@@ -102,7 +102,7 @@