diff --git a/lms/lms/doctype/lms_course/lms_course.py b/lms/lms/doctype/lms_course/lms_course.py index aa706a33..ba8b7701 100644 --- a/lms/lms/doctype/lms_course/lms_course.py +++ b/lms/lms/doctype/lms_course/lms_course.py @@ -187,192 +187,3 @@ def reindex_exercises(doc): course = frappe.get_doc("LMS Course", course_data["name"]) course.reindex_exercises() frappe.msgprint("All exercises in this course have been re-indexed.") - - -@frappe.whitelist(allow_guest=True) -def search_course(text): - courses = frappe.get_all( - "LMS Course", - filters={"published": True}, - or_filters={ - "title": ["like", f"%{text}%"], - "tags": ["like", f"%{text}%"], - "short_introduction": ["like", f"%{text}%"], - "description": ["like", f"%{text}%"], - }, - fields=["name", "title"], - ) - return courses - - -@frappe.whitelist() -def submit_for_review(course): - chapters = frappe.get_all("Chapter Reference", {"parent": course}) - if not len(chapters): - return "No Chp" - frappe.db.set_value("LMS Course", course, "status", "Under Review") - return "OK" - - -@frappe.whitelist() -def save_course( - tags, - title, - short_introduction, - video_link, - description, - course, - published, - upcoming, - image=None, - paid_course=False, - course_price=None, - currency=None, -): - if not can_create_courses(course): - return - - if course: - doc = frappe.get_doc("LMS Course", course) - else: - doc = frappe.get_doc({"doctype": "LMS Course"}) - - doc.update( - { - "title": title, - "short_introduction": short_introduction, - "video_link": video_link, - "image": image, - "description": description, - "tags": tags, - "published": cint(published), - "upcoming": cint(upcoming), - "paid_course": cint(paid_course), - "course_price": course_price, - "currency": currency, - } - ) - doc.save(ignore_permissions=True) - return doc.name - - -@frappe.whitelist() -def save_chapter(course, title, chapter_description, idx, chapter): - if chapter: - doc = frappe.get_doc("Course Chapter", chapter) - else: - doc = frappe.get_doc({"doctype": "Course Chapter"}) - - doc.update({"course": course, "title": title, "description": chapter_description}) - doc.save(ignore_permissions=True) - - if chapter: - chapter_reference = frappe.get_doc("Chapter Reference", {"chapter": chapter}) - else: - chapter_reference = frappe.get_doc( - { - "doctype": "Chapter Reference", - "parent": course, - "parenttype": "LMS Course", - "parentfield": "chapters", - "idx": idx, - } - ) - - chapter_reference.update({"chapter": doc.name}) - chapter_reference.save(ignore_permissions=True) - - return doc.name - - -@frappe.whitelist() -def save_lesson( - title, - body, - chapter, - preview, - idx, - lesson, - instructor_notes=None, - youtube=None, - quiz_id=None, - question=None, - file_type=None, -): - if lesson: - doc = frappe.get_doc("Course Lesson", lesson) - else: - doc = frappe.get_doc({"doctype": "Course Lesson"}) - - doc.update( - { - "chapter": chapter, - "title": title, - "body": body, - "instructor_notes": instructor_notes, - "include_in_preview": preview, - "youtube": youtube, - "quiz_id": quiz_id, - "question": question, - "file_type": file_type, - } - ) - doc.save(ignore_permissions=True) - - if lesson: - lesson_reference = frappe.get_doc("Lesson Reference", {"lesson": lesson}) - else: - lesson_reference = frappe.get_doc( - { - "doctype": "Lesson Reference", - "parent": chapter, - "parenttype": "Course Chapter", - "parentfield": "lessons", - "idx": idx, - } - ) - - lesson_reference.update({"lesson": doc.name}) - lesson_reference.save(ignore_permissions=True) - - return doc.name - - -@frappe.whitelist() -def reorder_lesson(old_chapter, old_lesson_array, new_chapter, new_lesson_array): - if old_chapter == new_chapter: - sort_lessons(new_chapter, new_lesson_array) - else: - sort_lessons(old_chapter, old_lesson_array) - sort_lessons(new_chapter, new_lesson_array) - - -def sort_lessons(chapter, lesson_array): - lesson_array = json.loads(lesson_array) - for les in lesson_array: - ref = frappe.get_all("Lesson Reference", {"lesson": les}, ["name", "idx"]) - if ref: - frappe.db.set_value( - "Lesson Reference", - ref[0].name, - { - "parent": chapter, - "idx": lesson_array.index(les) + 1, - }, - ) - - -@frappe.whitelist() -def reorder_chapter(chapter_array): - chapter_array = json.loads(chapter_array) - - for chap in chapter_array: - ref = frappe.get_all("Chapter Reference", {"chapter": chap}, ["name", "idx"]) - if ref: - frappe.db.set_value( - "Chapter Reference", - ref[0].name, - { - "idx": chapter_array.index(chap) + 1, - }, - ) diff --git a/lms/lms/utils.py b/lms/lms/utils.py index c54d495e..95860dba 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -109,7 +109,7 @@ def get_chapters(course): chapter_details = frappe.db.get_value( "Course Chapter", {"name": chapter.chapter}, - ["name", "title", "description"], + ["name", "title"], as_dict=True, ) chapter.update(chapter_details) @@ -1133,7 +1133,7 @@ def get_course_outline(course, progress=False): chapter_details = frappe.db.get_value( "Course Chapter", chapter.chapter, - ["name", "title", "description"], + ["name", "title"], as_dict=True, ) chapter_details["idx"] = chapter.idx