From cb2e803d0c217fcf5a3463930a5a983dd2257bcc Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 8 Jan 2024 11:39:02 +0530 Subject: [PATCH] fix(minor): Unpublish article when category is unpublished #15361 --- .../doctype/help_article/test_help_article.py | 12 ++++++++++++ .../website/doctype/help_category/help_category.py | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/frappe/website/doctype/help_article/test_help_article.py b/frappe/website/doctype/help_article/test_help_article.py index a7576c7168..b17a8eda8f 100644 --- a/frappe/website/doctype/help_article/test_help_article.py +++ b/frappe/website/doctype/help_article/test_help_article.py @@ -39,6 +39,18 @@ class TestHelpArticle(FrappeTestCase): self.assertEqual(self.help_article.helpful, 1) self.assertEqual(self.help_article.not_helpful, 1) + def test_category_disable(self): + self.help_article.load_from_db() + self.help_article.published = 1 + self.help_article.save() + + self.help_category.load_from_db() + self.help_category.published = 0 + self.help_category.save() + + self.help_article.load_from_db() + self.assertEqual(self.help_article.published, 0) + @classmethod def tearDownClass(cls) -> None: frappe.delete_doc(cls.help_article.doctype, cls.help_article.name) diff --git a/frappe/website/doctype/help_category/help_category.py b/frappe/website/doctype/help_category/help_category.py index 7c78ff3d46..10efcb30e7 100644 --- a/frappe/website/doctype/help_category/help_category.py +++ b/frappe/website/doctype/help_category/help_category.py @@ -32,6 +32,11 @@ class HelpCategory(WebsiteGenerator): def validate(self): self.set_route() + # disable help articles of this category + if not self.published: + for d in frappe.get_all("Help Article", dict(category=self.name)): + frappe.db.set_value("Help Article", d.name, "published", 0) + def set_route(self): if not self.route: self.route = "kb/" + self.scrub(self.category_name)