From a95204f02e5510580166509d433a722415e72269 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 1 Aug 2022 17:53:57 +0530 Subject: [PATCH] feat: add and update a chapter --- lms/lms/doctype/lms_course/lms_course.py | 26 +- lms/lms/widgets/CourseOutline.html | 146 ++++---- lms/public/js/common_functions.js | 53 ++- lms/www/courses/course.html | 432 +++++++++++++---------- lms/www/courses/course.py | 16 +- 5 files changed, 397 insertions(+), 276 deletions(-) diff --git a/lms/lms/doctype/lms_course/lms_course.py b/lms/lms/doctype/lms_course/lms_course.py index 322cb77c..8385a988 100644 --- a/lms/lms/doctype/lms_course/lms_course.py +++ b/lms/lms/doctype/lms_course/lms_course.py @@ -228,23 +228,33 @@ def save_course(tags, title, short_introduction, video_link, image, description, @frappe.whitelist() -def save_chapter(course, chapter, chapter_description, idx): - chapter = frappe.get_doc({ - "doctype": "Course Chapter", +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": chapter, + "title": title, "description": chapter_description }) - chapter.save(ignore_permissions=True) + doc.save(ignore_permissions=True) - chapter_reference = frappe.get_doc({ + if chapter: + chapter_reference = frappe.get_doc("Chapter Reference", {"chapter": chapter}) + else: + chapter_reference = frappe.get_doc({ "doctype": "Chapter Reference", "parent": course, - "chapter": chapter.name, "parenttype": "LMS Course", "parentfield": "chapters", "idx": idx }) + + chapter_reference.update({"chapter": doc.name}) chapter_reference.save(ignore_permissions=True) - return chapter.name + return doc.name diff --git a/lms/lms/widgets/CourseOutline.html b/lms/lms/widgets/CourseOutline.html index b2de2df0..6f5d1131 100644 --- a/lms/lms/widgets/CourseOutline.html +++ b/lms/lms/widgets/CourseOutline.html @@ -1,19 +1,29 @@ -{% if get_chapters(course.name) | length %}
+ + {% if course.edit_mode and course.name %} +
+ +
+ {% endif %} +
{{ _("Course Content") }}
+ + {% if get_chapters(course.name) | length %} + {% for chapter in get_chapters(course.name) %} -
-