From 1c49e78b137b9c4f3196035b0c1edb04f963fad4 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Thu, 15 Dec 2022 10:28:17 +0530 Subject: [PATCH] revert: navbar settings --- lms/hooks.py | 1 + lms/install.py | 36 ++++++++++++++++++ .../doctype/lms_settings/lms_settings.json | 9 +---- lms/lms/doctype/lms_settings/lms_settings.py | 37 +------------------ lms/lms/md.py | 2 +- lms/patches.txt | 1 + 6 files changed, 41 insertions(+), 45 deletions(-) diff --git a/lms/hooks.py b/lms/hooks.py index 873cdbc3..a7f3b43d 100644 --- a/lms/hooks.py +++ b/lms/hooks.py @@ -58,6 +58,7 @@ web_include_js = ["website.bundle.js"] # ------------ # before_install = "lms.install.before_install" +after_install = "lms.install.after_install" after_sync = "lms.install.after_sync" after_uninstall = "lms.install.after_uninstall" diff --git a/lms/install.py b/lms/install.py index c70ab1f2..00ca4eea 100644 --- a/lms/install.py +++ b/lms/install.py @@ -2,12 +2,48 @@ import frappe from frappe.desk.page.setup_wizard.setup_wizard import add_all_roles_to +def after_install(): + add_pages_to_nav() + + def after_sync(): create_lms_roles() set_default_home() add_all_roles_to("Administrator") +def add_pages_to_nav(): + pages = [ + {"label": "Explore", "idx": 1}, + {"label": "Courses", "url": "/courses", "parent": "Explore", "idx": 2}, + {"label": "Classes", "url": "/classes", "parent": "Explore", "idx": 3}, + {"label": "Statistics", "url": "/statistics", "parent": "Explore", "idx": 4}, + {"label": "Jobs", "url": "/jobs", "parent": "Explore", "idx": 5}, + {"label": "People", "url": "/community", "parent": "Explore", "idx": 6}, + ] + + for page in pages: + filters = frappe._dict() + if page.get("url"): + filters["url"] = ["like", "%" + page.get("url") + "%"] + else: + filters["label"] = page.get("label") + + if not frappe.db.exists("Top Bar Item", filters): + frappe.get_doc( + { + "doctype": "Top Bar Item", + "label": page.get("label"), + "url": page.get("url"), + "parent_label": page.get("parent"), + "idx": page.get("idx"), + "parent": "Website Settings", + "parenttype": "Website Settings", + "parentfield": "top_bar_items", + } + ).save() + + def after_uninstall(): delete_custom_fields() diff --git a/lms/lms/doctype/lms_settings/lms_settings.json b/lms/lms/doctype/lms_settings/lms_settings.json index 5f3b63ed..b178e61f 100644 --- a/lms/lms/doctype/lms_settings/lms_settings.json +++ b/lms/lms/doctype/lms_settings/lms_settings.json @@ -7,7 +7,6 @@ "field_order": [ "search_placeholder", "portal_course_creation", - "add_to_navbar", "column_break_2", "custom_certificate_template", "livecode_url", @@ -138,18 +137,12 @@ "fieldtype": "Link", "label": "Custom Certificate Template", "options": "Web Template" - }, - { - "default": "0", - "fieldname": "add_to_navbar", - "fieldtype": "Check", - "label": "Add LMS pages to navbar" } ], "index_web_pages_for_search": 1, "issingle": 1, "links": [], - "modified": "2022-12-12 11:36:16.162795", + "modified": "2022-12-15 10:23:08.638117", "modified_by": "Administrator", "module": "LMS", "name": "LMS Settings", diff --git a/lms/lms/doctype/lms_settings/lms_settings.py b/lms/lms/doctype/lms_settings/lms_settings.py index 761eed48..d8afde6e 100644 --- a/lms/lms/doctype/lms_settings/lms_settings.py +++ b/lms/lms/doctype/lms_settings/lms_settings.py @@ -7,39 +7,4 @@ from frappe.model.document import Document class LMSSettings(Document): - - pages = [ - {"label": "Explore", "idx": 1}, - {"label": "Courses", "url": "/courses", "parent": "Explore", "idx": 2}, - {"label": "Classes", "url": "/classes", "parent": "Explore", "idx": 3}, - {"label": "Statistics", "url": "/statistics", "parent": "Explore", "idx": 4}, - {"label": "Jobs", "url": "/jobs", "parent": "Explore", "idx": 5}, - {"label": "People", "url": "/community", "parent": "Explore", "idx": 6}, - ] - - def on_update(self): - self.update_navbar() - - def update_navbar(self): - for page in self.pages: - filters = frappe._dict() - if page.get("url"): - filters["url"] = ["like", "%" + page.get("url") + "%"] - else: - filters["label"] = page.get("label") - - if self.add_to_navbar and not frappe.db.exists("Top Bar Item", filters): - frappe.get_doc( - { - "doctype": "Top Bar Item", - "label": page.get("label"), - "url": page.get("url"), - "parent_label": page.get("parent"), - "idx": page.get("idx"), - "parent": "Website Settings", - "parenttype": "Website Settings", - "parentfield": "top_bar_items", - } - ).save() - elif not self.add_to_navbar and frappe.db.exists("Top Bar Item", filters): - frappe.db.delete("Top Bar Item", filters) + pass diff --git a/lms/lms/md.py b/lms/lms/md.py index 1a6b9ed7..e7830722 100644 --- a/lms/lms/md.py +++ b/lms/lms/md.py @@ -114,7 +114,7 @@ def sanitize_html(html, macro): any broken tags. This makes sures that all those things are fixed before passing to the etree parser. """ - soup = BeautifulSoup(html, features="lxml") + soup = BeautifulSoup(html, features="html5lib") nodes = soup.body.children classname = "" if macro == "YouTubeVideo": diff --git a/lms/patches.txt b/lms/patches.txt index 10ec7d55..2f4e6bbc 100644 --- a/lms/patches.txt +++ b/lms/patches.txt @@ -36,6 +36,7 @@ lms.patches.v0_0.set_dashboard #11-10-2022 lms.patches.v0_0.set_courses_page_as_home lms.patches.v0_0.set_member_in_progress #09-11-2022 lms.patches.v0_0.convert_progress_to_float +lms.patches.v0_0.add_pages_to_nav #25-11-2022 lms.patches.v0_0.change_role_names lms.patches.v0_0.quiz_submission_result lms.patches.v0_0.skill_to_user_skill