summaryrefslogtreecommitdiff
path: root/addons/website_blog/controllers
diff options
context:
space:
mode:
authorSébastien Theys <seb@odoo.com>2019-09-05 13:58:19 +0000
committerSébastien Theys <seb@odoo.com>2019-09-05 13:58:19 +0000
commitfec4e77a6c7059a4b63dd38fd443c194f6f8cb14 (patch)
tree859cac43a8ce5e46dcfd222a380257a52c9a4686 /addons/website_blog/controllers
parentbe8731cc6a0350a7506b2b33262d502cb00d15e0 (diff)
[IMP] website_blog: avoid searching all blogs twice
The same `search` was done twice in a row. Part of task-2061122 closes odoo/odoo#36485 Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
Diffstat (limited to 'addons/website_blog/controllers')
-rw-r--r--addons/website_blog/controllers/main.py8
1 files changed, 3 insertions, 5 deletions
diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py
index 0a85439471d..ebe5ddde54c 100644
--- a/addons/website_blog/controllers/main.py
+++ b/addons/website_blog/controllers/main.py
@@ -52,15 +52,12 @@ class WebsiteBlog(http.Controller):
return OrderedDict((year, [m for m in months]) for year, months in itertools.groupby(groups, lambda g: g['year']))
- def _prepare_blog_values(self, blog=False, date_begin=False, date_end=False, tags=False, state=False, page=False):
+ def _prepare_blog_values(self, blogs, blog=False, date_begin=False, date_end=False, tags=False, state=False, page=False):
""" Prepare all values to display the blogs index page or one specific blog"""
-
- Blog = request.env['blog.blog']
BlogPost = request.env['blog.post']
# prepare domain
domain = request.website.website_domain()
- blogs = Blog.search(domain, order="create_date asc, id asc")
if blog:
domain += [('blog_id', '=', blog.id)]
@@ -143,12 +140,13 @@ class WebsiteBlog(http.Controller):
raise werkzeug.exceptions.NotFound()
blogs = Blog.search(request.website.website_domain(), order="create_date asc, id asc")
+
if not blog and len(blogs) == 1:
return werkzeug.utils.redirect('/blog/%s' % slug(blogs[0]), code=302)
date_begin, date_end, state = opt.get('date_begin'), opt.get('date_end'), opt.get('state')
- values = self._prepare_blog_values(blog=blog, date_begin=date_begin, date_end=date_end, tags=tag, state=state, page=page)
+ values = self._prepare_blog_values(blogs=blogs, blog=blog, date_begin=date_begin, date_end=date_end, tags=tag, state=state, page=page)
if blog:
values['main_object'] = blog