diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py index c994d5014fa..cca44be1b2c 100644 --- a/addons/website_blog/controllers/main.py +++ b/addons/website_blog/controllers/main.py @@ -116,7 +116,7 @@ class WebsiteBlog(http.Controller): step=self._blog_post_per_page, ) - all_tags = blog and blogs.all_tags()[blog.id] or blogs.all_tags(join=True) + all_tags = blogs.all_tags(join=True) if not blog else blogs.all_tags().get(blog.id, request.env['blog.tag']) tag_category = sorted(all_tags.mapped('category_id'), key=lambda category: category.name.upper()) other_tags = sorted(all_tags.filtered(lambda x: not x.category_id), key=lambda tag: tag.name.upper()) diff --git a/addons/website_blog/models/website_blog.py b/addons/website_blog/models/website_blog.py index 733bafc3a7f..4341966caf7 100644 --- a/addons/website_blog/models/website_blog.py +++ b/addons/website_blog/models/website_blog.py @@ -185,7 +185,7 @@ class BlogPost(models.Model): def _check_for_publication(self, vals): if vals.get('is_published'): - for post in self: + for post in self.filtered(lambda p: p.active): post.blog_id.message_post_with_view( 'website_blog.blog_post_template_new_post', subject=post.name, @@ -202,6 +202,9 @@ class BlogPost(models.Model): def write(self, vals): result = True + # archiving a blog post, unpublished the blog post + if 'active' in vals and not vals['active']: + vals['is_published'] = False for post in self: copy_vals = dict(vals) published_in_vals = set(vals.keys()) & {'is_published', 'website_published'} diff --git a/addons/website_blog/security/website_blog_security.xml b/addons/website_blog/security/website_blog_security.xml index 79cfbbe6074..7544dc75338 100644 --- a/addons/website_blog/security/website_blog_security.xml +++ b/addons/website_blog/security/website_blog_security.xml @@ -8,4 +8,11 @@ + + Blog: active only + + [('active', '=', True)] + + + diff --git a/addons/website_blog/views/website_blog_views.xml b/addons/website_blog/views/website_blog_views.xml index 15605473167..c28c6cb6325 100644 --- a/addons/website_blog/views/website_blog_views.xml +++ b/addons/website_blog/views/website_blog_views.xml @@ -62,7 +62,7 @@
-
+