Merge pull request #446 from pateljannat/navbar-settings
Resolves https://github.com/frappe/lms/issues/442
This commit is contained in:
@@ -58,7 +58,6 @@ web_include_js = ["website.bundle.js"]
|
|||||||
# ------------
|
# ------------
|
||||||
|
|
||||||
# before_install = "lms.install.before_install"
|
# before_install = "lms.install.before_install"
|
||||||
after_install = "lms.install.add_pages_to_nav"
|
|
||||||
after_sync = "lms.install.after_sync"
|
after_sync = "lms.install.after_sync"
|
||||||
after_uninstall = "lms.install.after_uninstall"
|
after_uninstall = "lms.install.after_uninstall"
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,6 @@ import frappe
|
|||||||
from frappe.desk.page.setup_wizard.setup_wizard import add_all_roles_to
|
from frappe.desk.page.setup_wizard.setup_wizard import add_all_roles_to
|
||||||
|
|
||||||
|
|
||||||
def after_install():
|
|
||||||
add_pages_to_nav()
|
|
||||||
|
|
||||||
|
|
||||||
def after_sync():
|
def after_sync():
|
||||||
create_lms_roles()
|
create_lms_roles()
|
||||||
set_default_home()
|
set_default_home()
|
||||||
@@ -95,42 +91,3 @@ def delete_custom_fields():
|
|||||||
for field in fields:
|
for field in fields:
|
||||||
frappe.db.delete("Custom Field", {"fieldname": field})
|
frappe.db.delete("Custom Field", {"fieldname": field})
|
||||||
frappe.db.commit()
|
frappe.db.commit()
|
||||||
|
|
||||||
|
|
||||||
def add_pages_to_nav():
|
|
||||||
pages = [
|
|
||||||
{"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},
|
|
||||||
]
|
|
||||||
|
|
||||||
if not frappe.db.exists("Top Bar Item", {"label": "Explore"}):
|
|
||||||
frappe.get_doc(
|
|
||||||
{
|
|
||||||
"doctype": "Top Bar Item",
|
|
||||||
"label": "Explore",
|
|
||||||
"parent": "Website Settings",
|
|
||||||
"parenttype": "Website Settings",
|
|
||||||
"parentfield": "top_bar_items",
|
|
||||||
"idx": 1,
|
|
||||||
}
|
|
||||||
).save()
|
|
||||||
|
|
||||||
for page in pages:
|
|
||||||
if not frappe.db.exists(
|
|
||||||
"Top Bar Item", {"url": ["like", "%" + page.get("url") + "%"]}
|
|
||||||
):
|
|
||||||
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()
|
|
||||||
|
|||||||
@@ -7,10 +7,11 @@
|
|||||||
"field_order": [
|
"field_order": [
|
||||||
"search_placeholder",
|
"search_placeholder",
|
||||||
"portal_course_creation",
|
"portal_course_creation",
|
||||||
"force_profile_completion",
|
"add_to_navbar",
|
||||||
"column_break_2",
|
"column_break_2",
|
||||||
"custom_certificate_template",
|
"custom_certificate_template",
|
||||||
"livecode_url",
|
"livecode_url",
|
||||||
|
"force_profile_completion",
|
||||||
"signup_settings_section",
|
"signup_settings_section",
|
||||||
"terms_of_use",
|
"terms_of_use",
|
||||||
"terms_page",
|
"terms_page",
|
||||||
@@ -137,12 +138,18 @@
|
|||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"label": "Custom Certificate Template",
|
"label": "Custom Certificate Template",
|
||||||
"options": "Web Template"
|
"options": "Web Template"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"default": "0",
|
||||||
|
"fieldname": "add_to_navbar",
|
||||||
|
"fieldtype": "Check",
|
||||||
|
"label": "Add LMS pages to navbar"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"index_web_pages_for_search": 1,
|
"index_web_pages_for_search": 1,
|
||||||
"issingle": 1,
|
"issingle": 1,
|
||||||
"links": [],
|
"links": [],
|
||||||
"modified": "2022-12-01 15:13:39.901611",
|
"modified": "2022-12-12 11:36:16.162795",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "LMS",
|
"module": "LMS",
|
||||||
"name": "LMS Settings",
|
"name": "LMS Settings",
|
||||||
|
|||||||
@@ -7,4 +7,39 @@ from frappe.model.document import Document
|
|||||||
|
|
||||||
|
|
||||||
class LMSSettings(Document):
|
class LMSSettings(Document):
|
||||||
pass
|
|
||||||
|
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)
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ lms.patches.v0_0.set_dashboard #11-10-2022
|
|||||||
lms.patches.v0_0.set_courses_page_as_home
|
lms.patches.v0_0.set_courses_page_as_home
|
||||||
lms.patches.v0_0.set_member_in_progress #09-11-2022
|
lms.patches.v0_0.set_member_in_progress #09-11-2022
|
||||||
lms.patches.v0_0.convert_progress_to_float
|
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.change_role_names
|
||||||
lms.patches.v0_0.quiz_submission_result
|
lms.patches.v0_0.quiz_submission_result
|
||||||
lms.patches.v0_0.skill_to_user_skill
|
lms.patches.v0_0.skill_to_user_skill
|
||||||
lms.patches.v0_0.rename_instructor_role
|
lms.patches.v0_0.rename_instructor_role
|
||||||
|
lms.patches.v0_0.change_course_creation_settings #12-12-2022
|
||||||
|
|||||||
9
lms/patches/v0_0/change_course_creation_settings.py
Normal file
9
lms/patches/v0_0/change_course_creation_settings.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import frappe
|
||||||
|
|
||||||
|
|
||||||
|
def execute():
|
||||||
|
value = frappe.db.get_single_value("LMS Settings", "portal_course_creation")
|
||||||
|
if value == "Course Instructor Role":
|
||||||
|
frappe.db.set_value(
|
||||||
|
"LMS Settings", None, "portal_course_creation", "Course Creator Role"
|
||||||
|
)
|
||||||
@@ -2,5 +2,8 @@ import frappe
|
|||||||
|
|
||||||
|
|
||||||
def execute():
|
def execute():
|
||||||
|
if frappe.db.exists("Role", "Course Instructor"):
|
||||||
frappe.rename_doc("Role", "Course Instructor", "Instructor")
|
frappe.rename_doc("Role", "Course Instructor", "Instructor")
|
||||||
|
|
||||||
|
if frappe.db.exists("Role", "Course Moderator"):
|
||||||
frappe.rename_doc("Role", "Course Moderator", "Moderator")
|
frappe.rename_doc("Role", "Course Moderator", "Moderator")
|
||||||
|
|||||||
@@ -4,5 +4,6 @@ import frappe
|
|||||||
def execute():
|
def execute():
|
||||||
frappe.reload_doc("lms", "doctype", "user_skill")
|
frappe.reload_doc("lms", "doctype", "user_skill")
|
||||||
skills = frappe.get_all("Skill", pluck="name")
|
skills = frappe.get_all("Skill", pluck="name")
|
||||||
|
|
||||||
for skill in skills:
|
for skill in skills:
|
||||||
frappe.get_doc({"doctype": "User Skill", "skill": skill}).save()
|
frappe.get_doc({"doctype": "User Skill", "skill": skill}).save()
|
||||||
|
|||||||
Reference in New Issue
Block a user