refactor: renamed app to lms
This commit is contained in:
12
lms/patches/change_name_for_community_members.py
Normal file
12
lms/patches/change_name_for_community_members.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.model.naming import make_autoname
|
||||
from frappe.model.rename_doc import rename_doc
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("community", "doctype", "community_member")
|
||||
docs = frappe.get_all("Community Member")
|
||||
for doc in docs:
|
||||
member = frappe.get_doc("Community Member", doc.name)
|
||||
name = make_autoname("hash", "Community Member")
|
||||
rename_doc("Community Member", member.name, name, force=True, merge=False, ignore_permissions=True, ignore_if_exists=False)
|
||||
31
lms/patches/create_mentor_request_email_templates.py
Normal file
31
lms/patches/create_mentor_request_email_templates.py
Normal file
@@ -0,0 +1,31 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe, os
|
||||
from frappe import _
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("email", "doctype", "email_template")
|
||||
base_path = frappe.get_app_path("lms", "templates", "emails")
|
||||
|
||||
if not frappe.db.exists("Email Template", _('Mentor Request Creation Template')):
|
||||
response = frappe.read_file(os.path.join(base_path, "mentor_request_creation_email.html"))
|
||||
frappe.get_doc({
|
||||
'doctype': 'Email Template',
|
||||
'name': _("Mentor Request Creation Template"),
|
||||
'response': response,
|
||||
'subject': _('Request for Mentorship'),
|
||||
'owner': frappe.session.user
|
||||
}).insert(ignore_permissions=True)
|
||||
|
||||
frappe.db.set_value("LMS Settings", None, "mentor_request_creation", _('Mentor Request Creation Template'))
|
||||
|
||||
if not frappe.db.exists("Email Template", _('Mentor Request Status Update Template')):
|
||||
response = frappe.read_file(os.path.join(base_path, "mentor_request_status_update_email.html"))
|
||||
frappe.get_doc({
|
||||
'doctype': 'Email Template',
|
||||
'name': _("Mentor Request Status Update Template"),
|
||||
'response': response,
|
||||
'subject': _('The status of your application has changed.'),
|
||||
'owner': frappe.session.user
|
||||
}).insert(ignore_permissions=True)
|
||||
|
||||
frappe.db.set_value("LMS Settings", None, "mentor_request_status_update", _('Mentor Request Status Update Template'))
|
||||
@@ -0,0 +1,9 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("lms", "doctype", "lms_batch_membership")
|
||||
memberships = frappe.get_all("LMS Batch Membership", ["member", "name"])
|
||||
for membership in memberships:
|
||||
email = frappe.db.get_value("Community Member", membership.member, "email")
|
||||
frappe.db.set_value("LMS Batch Membership", membership.name, "member", email)
|
||||
@@ -0,0 +1,9 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("lms", "doctype", "lms_course_mentor_mapping")
|
||||
mappings = frappe.get_all("LMS Course Mentor Mapping", ["mentor", "name"])
|
||||
for mapping in mappings:
|
||||
email = frappe.db.get_value("Community Member", mapping.mentor, "email")
|
||||
frappe.db.set_value("LMS Course Mentor Mapping", mapping.name, "mentor", email)
|
||||
10
lms/patches/replace_member_with_user_in_lms_message.py
Normal file
10
lms/patches/replace_member_with_user_in_lms_message.py
Normal file
@@ -0,0 +1,10 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("lms", "doctype", "lms_message")
|
||||
messages = frappe.get_all("LMS Message", ["author", "name"])
|
||||
for message in messages:
|
||||
user = frappe.db.get_value("Community Member", message.author, ["email", "full_name"], as_dict=True)
|
||||
frappe.db.set_value("LMS Message", message.name, "author", user.email)
|
||||
frappe.db.set_value("LMS Message", message.name, "author_name", user.full_name)
|
||||
10
lms/patches/replace_member_with_user_in_mentor_request.py
Normal file
10
lms/patches/replace_member_with_user_in_mentor_request.py
Normal file
@@ -0,0 +1,10 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("lms", "doctype", "lms_mentor_request")
|
||||
requests = frappe.get_all("LMS Mentor Request", ["member", "name"])
|
||||
for request in requests:
|
||||
user = frappe.db.get_value("Community Member", request.member, ["email", "full_name"], as_dict=True)
|
||||
frappe.db.set_value("LMS Mentor Request", request.name, "member", user.email)
|
||||
frappe.db.set_value("LMS Mentor Request", request.name, "member_name", user.full_name)
|
||||
11
lms/patches/save_abbr_for_community_members.py
Normal file
11
lms/patches/save_abbr_for_community_members.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("community", "doctype", "community_member")
|
||||
docs = frappe.get_all("Community Member")
|
||||
for doc in docs:
|
||||
member = frappe.get_doc("Community Member", doc.name)
|
||||
if not member.abbr:
|
||||
abbr = ("").join([ s[0] for s in member.full_name.split() ])
|
||||
frappe.db.set_value("Community Member", member.name, "abbr", abbr)
|
||||
9
lms/patches/set_email_preferences.py
Normal file
9
lms/patches/set_email_preferences.py
Normal file
@@ -0,0 +1,9 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("community", "doctype", "community_member")
|
||||
members = frappe.get_all("Community Member", ["name", "email_preference"])
|
||||
for member in members:
|
||||
if not member.email_preference:
|
||||
frappe.db.set_value("Community Member", member.name, "email_preference", "Email on every Message")
|
||||
22
lms/patches/v0_0/add_progress_to_membership.py
Normal file
22
lms/patches/v0_0/add_progress_to_membership.py
Normal file
@@ -0,0 +1,22 @@
|
||||
import frappe
|
||||
from frappe.utils import rounded
|
||||
from lms.lms.utils import get_course_progress
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("lms", "doctype", "lms_batch_membership")
|
||||
memberships = frappe.get_all(
|
||||
"LMS Batch Membership",
|
||||
["name", "course", "member"],
|
||||
order_by="course")
|
||||
|
||||
if len(memberships):
|
||||
current_course = memberships[0].course
|
||||
for membership in memberships:
|
||||
if current_course != membership.course:
|
||||
current_course = membership.course
|
||||
|
||||
progress = rounded(get_course_progress(current_course, membership.member))
|
||||
frappe.db.set_value("LMS Batch Membership", membership.name, "progress", progress)
|
||||
|
||||
frappe.db.delete("Prepared Report", {"ref_report_doctype": "Course Progress Summary"})
|
||||
frappe.db.set_value("Report", "Course Progress Summary", "prepared_report", 0)
|
||||
50
lms/patches/v0_0/chapter_lesson_index_table.py
Normal file
50
lms/patches/v0_0/chapter_lesson_index_table.py
Normal file
@@ -0,0 +1,50 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("lms", "doctype", "lms_course")
|
||||
frappe.reload_doc("lms", "doctype", "chapter")
|
||||
frappe.reload_doc("lms", "doctype", "lesson")
|
||||
frappe.reload_doc("lms", "doctype", "lessons")
|
||||
frappe.reload_doc("lms", "doctype", "chapters")
|
||||
|
||||
update_chapters()
|
||||
update_lessons()
|
||||
|
||||
def update_chapters():
|
||||
courses = frappe.get_all("LMS Course", pluck="name")
|
||||
for course in courses:
|
||||
course_details = frappe.get_doc("LMS Course", course)
|
||||
chapters = frappe.get_all("Chapter",
|
||||
{
|
||||
"course": course
|
||||
},
|
||||
["name"],
|
||||
order_by= "index_"
|
||||
)
|
||||
for chapter in chapters:
|
||||
course_details.append("chapters",
|
||||
{
|
||||
"chapter": chapter.name
|
||||
})
|
||||
|
||||
course_details.save()
|
||||
|
||||
def update_lessons():
|
||||
chapters = frappe.get_all("Chapter", pluck="name")
|
||||
for chapter in chapters:
|
||||
chapter_details = frappe.get_doc("Chapter", chapter)
|
||||
lessons = frappe.get_all("Lesson",
|
||||
{
|
||||
"chapter": chapter
|
||||
},
|
||||
["name"],
|
||||
order_by= "index_"
|
||||
)
|
||||
for lesson in lessons:
|
||||
chapter_details.append("lessons",
|
||||
{
|
||||
"lesson": lesson.name
|
||||
})
|
||||
|
||||
chapter_details.save()
|
||||
7
lms/patches/v0_0/course_instructor_update.py
Normal file
7
lms/patches/v0_0/course_instructor_update.py
Normal file
@@ -0,0 +1,7 @@
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("lms", "doctype", "lms_course")
|
||||
courses = frappe.get_all("LMS Course", fields=["name", "owner"])
|
||||
for course in courses:
|
||||
frappe.db.set_value("LMS Course", course.name, "instructor", course.owner)
|
||||
11
lms/patches/v0_0/modify_installed_apps_list.py
Normal file
11
lms/patches/v0_0/modify_installed_apps_list.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.installer import add_to_installed_apps, remove_from_installed_apps
|
||||
|
||||
def execute():
|
||||
|
||||
if "community" in frappe.db.get_global("installed_apps"):
|
||||
remove_from_installed_apps("community")
|
||||
add_to_installed_apps("school")
|
||||
|
||||
|
||||
15
lms/patches/v0_0/multiple_instructors.py
Normal file
15
lms/patches/v0_0/multiple_instructors.py
Normal file
@@ -0,0 +1,15 @@
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("lms", "doctype", "lms_course")
|
||||
frappe.reload_doc("lms", "doctype", "course_instructor")
|
||||
courses = frappe.get_all("LMS Course", fields=["name", "instructor"])
|
||||
for course in courses:
|
||||
doc = frappe.get_doc({
|
||||
"doctype": "Course Instructor",
|
||||
"parent": course.name,
|
||||
"parentfield": "instructors",
|
||||
"parenttype": "LMS Course",
|
||||
"instructor": course.instructor
|
||||
})
|
||||
doc.save()
|
||||
48
lms/patches/v0_0/rename_chapter_and_lesson_doctype.py
Normal file
48
lms/patches/v0_0/rename_chapter_and_lesson_doctype.py
Normal file
@@ -0,0 +1,48 @@
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("lms", "doctype", "course_chapter")
|
||||
frappe.reload_doc("lms", "doctype", "course_lesson")
|
||||
frappe.reload_doc("lms", "doctype", "chapter_reference")
|
||||
frappe.reload_doc("lms", "doctype", "lesson_reference")
|
||||
frappe.reload_doc("lms", "doctype", "exercise")
|
||||
frappe.reload_doc("lms", "doctype", "exercise_submission")
|
||||
frappe.reload_doc("lms", "doctype", "lms_batch_membership")
|
||||
frappe.reload_doc("lms", "doctype", "lms_course")
|
||||
frappe.reload_doc("lms", "doctype", "lms_course_progress")
|
||||
frappe.reload_doc("lms", "doctype", "lms_quiz")
|
||||
|
||||
if not frappe.db.count("Course Chapter"):
|
||||
move_chapters()
|
||||
|
||||
if not frappe.db.count("Course Lesson"):
|
||||
move_lessons()
|
||||
|
||||
change_parent_for_lesson_reference()
|
||||
|
||||
def move_chapters():
|
||||
docs = frappe.get_all("Chapter", fields=["*"])
|
||||
for doc in docs:
|
||||
if frappe.db.exists("LMS Course", doc.course):
|
||||
name = doc.name
|
||||
doc.update({"doctype": "Course Chapter"})
|
||||
del doc["name"]
|
||||
new_doc = frappe.get_doc(doc)
|
||||
new_doc.save()
|
||||
frappe.rename_doc("Course Chapter", new_doc.name, name)
|
||||
|
||||
def move_lessons():
|
||||
docs = frappe.get_all("Lesson", fields=["*"])
|
||||
for doc in docs:
|
||||
if frappe.db.exists("Chapter", doc.chapter):
|
||||
name = doc.name
|
||||
doc.update({"doctype": "Course Lesson"})
|
||||
del doc["name"]
|
||||
new_doc = frappe.get_doc(doc)
|
||||
new_doc.save()
|
||||
frappe.rename_doc("Course Lesson", new_doc.name, name)
|
||||
|
||||
def change_parent_for_lesson_reference():
|
||||
lesson_reference = frappe.get_all("Lesson Reference", fields=["name", "parent"])
|
||||
for reference in lesson_reference:
|
||||
frappe.db.set_value("Lesson Reference", reference.name, "parenttype", "Course Chapter")
|
||||
32
lms/patches/v0_0/rename_chapters_and_lessons_doctype.py
Normal file
32
lms/patches/v0_0/rename_chapters_and_lessons_doctype.py
Normal file
@@ -0,0 +1,32 @@
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("lms", "doctype", "lms_course")
|
||||
frappe.reload_doc("lms", "doctype", "chapter")
|
||||
frappe.reload_doc("lms", "doctype", "lesson")
|
||||
frappe.reload_doc("lms", "doctype", "chapter_reference")
|
||||
frappe.reload_doc("lms", "doctype", "lesson_reference")
|
||||
|
||||
if not frappe.db.count("Chapter Reference"):
|
||||
move_chapters()
|
||||
|
||||
if not frappe.db.count("Lesson Reference"):
|
||||
move_lessons()
|
||||
|
||||
def move_chapters():
|
||||
docs = frappe.get_all("Chapters", fields=["*"])
|
||||
for doc in docs:
|
||||
keys = doc
|
||||
keys.update({"doctype": "Chapter Reference"})
|
||||
del keys["name"]
|
||||
frappe.get_doc(keys).save()
|
||||
|
||||
def move_lessons():
|
||||
docs = frappe.get_all("Lessons", fields=["*"])
|
||||
for doc in docs:
|
||||
keys = doc
|
||||
keys.update({"doctype": "Lesson Reference"})
|
||||
del keys["name"]
|
||||
frappe.get_doc(keys).save()
|
||||
|
||||
|
||||
11
lms/patches/v0_0/rename_school_to_lms.py
Normal file
11
lms/patches/v0_0/rename_school_to_lms.py
Normal file
@@ -0,0 +1,11 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.installer import add_to_installed_apps, remove_from_installed_apps
|
||||
|
||||
def execute():
|
||||
|
||||
if "school" in frappe.db.get_global("installed_apps"):
|
||||
remove_from_installed_apps("school")
|
||||
add_to_installed_apps("lms")
|
||||
|
||||
|
||||
7
lms/patches/v0_0/set_course_in_lesson.py
Normal file
7
lms/patches/v0_0/set_course_in_lesson.py
Normal file
@@ -0,0 +1,7 @@
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
lessons = frappe.get_all("Course Lesson", fields=["name", "chapter"])
|
||||
for lesson in lessons:
|
||||
course = frappe.db.get_value("Course Chapter", lesson.chapter, "course")
|
||||
frappe.db.set_value("Course Lesson", lesson.name, "course", course)
|
||||
7
lms/patches/v0_0/set_status_in_course.py
Normal file
7
lms/patches/v0_0/set_status_in_course.py
Normal file
@@ -0,0 +1,7 @@
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
courses = frappe.get_all("LMS Course", {"status": ("is", "not set")}, ["name", "is_published"])
|
||||
for course in courses:
|
||||
status = "Approved" if course.is_published else "In Progress"
|
||||
frappe.db.set_value("LMS Course", course.name, "status", status)
|
||||
Reference in New Issue
Block a user