diff options
| author | Sébastien Theys <seb@odoo.com> | 2019-09-05 13:58:19 +0000 |
|---|---|---|
| committer | Sébastien Theys <seb@odoo.com> | 2019-09-05 13:58:19 +0000 |
| commit | fec4e77a6c7059a4b63dd38fd443c194f6f8cb14 (patch) | |
| tree | 859cac43a8ce5e46dcfd222a380257a52c9a4686 | |
| parent | be8731cc6a0350a7506b2b33262d502cb00d15e0 (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>
| -rw-r--r-- | addons/website_blog/controllers/main.py | 8 |
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 |
