diff --git a/addons/website/models/ir_ui_view.py b/addons/website/models/ir_ui_view.py index bc4a24205af..7f670a81a46 100644 --- a/addons/website/models/ir_ui_view.py +++ b/addons/website/models/ir_ui_view.py @@ -448,6 +448,7 @@ class View(models.Model): self._context.copy(), main_object=self, website=request.website, + is_view_active=request.website.is_view_active, url_for=url_for, res_company=request.website.company_id.sudo(), languages=request.env['res.lang'].get_available(), diff --git a/addons/website/models/website.py b/addons/website/models/website.py index 22439e011d2..b3ef9a42cdc 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -698,6 +698,15 @@ class Website(models.Model): raise ValueError('No record found for unique ID %s. It may have been deleted.' % (view_id)) return view + @tools.ormcache_context('key', keys=('website_id',)) + def is_view_active(self, key): + """ + Return True if active, False if not active, None if not found + """ + view = self.viewref(key, raise_if_not_found=False) + return view.active if view else None + + @api.model def get_template(self, template): View = self.env['ir.ui.view'] diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py index ec804c255c2..e4990b7413f 100644 --- a/addons/website_blog/controllers/main.py +++ b/addons/website_blog/controllers/main.py @@ -88,8 +88,8 @@ class WebsiteBlog(http.Controller): else: domain += [("post_date", "<=", fields.Datetime.now())] - use_cover = request.website.viewref('website_blog.opt_blog_cover_post').active - fullwidth_cover = request.website.viewref('website_blog.opt_blog_cover_post_fullwidth_design').active + use_cover = request.website.is_view_active('website_blog.opt_blog_cover_post') + fullwidth_cover = request.website.is_view_active('website_blog.opt_blog_cover_post_fullwidth_design') # if blog, we show blog title, if use_cover and not fullwidth_cover we need pager + latest always offset = (page - 1) * self._blog_post_per_page diff --git a/addons/website_blog/tests/test_performance.py b/addons/website_blog/tests/test_performance.py index 658e3acb4db..25a29b5e479 100644 --- a/addons/website_blog/tests/test_performance.py +++ b/addons/website_blog/tests/test_performance.py @@ -6,7 +6,7 @@ from odoo.addons.website.tests.test_performance import UtilPerf class TestBlogPerformance(UtilPerf): def test_10_perf_sql_blog_standard_data(self): - self.assertEqual(self._get_url_hot_query('/blog'), 70) + self.assertEqual(self._get_url_hot_query('/blog'), 50) def test_20_perf_sql_blog_bigger_data_scaling(self): BlogPost = self.env['blog.post'] @@ -18,4 +18,4 @@ class TestBlogPerformance(UtilPerf): for blog_post in blog_posts: blog_post.tag_ids += blog_tags blog_tags = blog_tags[:-1] - self.assertEqual(self._get_url_hot_query('/blog'), 136) + self.assertEqual(self._get_url_hot_query('/blog'), 116) diff --git a/addons/website_blog/views/website_blog_posts_loop.xml b/addons/website_blog/views/website_blog_posts_loop.xml index 4e28509144f..fd6ca98edf4 100644 --- a/addons/website_blog/views/website_blog_posts_loop.xml +++ b/addons/website_blog/views/website_blog_posts_loop.xml @@ -13,10 +13,7 @@ according to the enabled options. - - - - +
@@ -105,7 +102,7 @@ according to the enabled options.
-
+
@@ -122,7 +119,7 @@ according to the enabled options.
-
+
@@ -150,7 +147,7 @@ according to the enabled options. Untitled Post -
+
by
@@ -160,7 +157,7 @@ according to the enabled options.