From d1353380882f9112f5871318721558d3d9c2775d Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 20 Sep 2021 17:49:13 +0530 Subject: [PATCH 1/3] fix: patch --- community/patches.txt | 1 + .../v0_0/rename_chapters_and_lessons_doctype.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 community/patches/v0_0/rename_chapters_and_lessons_doctype.py diff --git a/community/patches.txt b/community/patches.txt index 853dd9d0..0ab8479a 100644 --- a/community/patches.txt +++ b/community/patches.txt @@ -11,3 +11,4 @@ execute:frappe.delete_doc("DocType", "LMS Message") community.patches.v0_0.course_instructor_update execute:frappe.delete_doc("DocType", "Discussion Message") execute:frappe.delete_doc("DocType", "Discussion Thread") +community.patches.v0_0.rename_chapters_and_lessons_doctype diff --git a/community/patches/v0_0/rename_chapters_and_lessons_doctype.py b/community/patches/v0_0/rename_chapters_and_lessons_doctype.py new file mode 100644 index 00000000..9775c845 --- /dev/null +++ b/community/patches/v0_0/rename_chapters_and_lessons_doctype.py @@ -0,0 +1,16 @@ +import frappe + +def execute(): + frappe.reload_doc("lms", "doctype", "lms_course") + frappe.reload_doc("lms", "doctype", "chapters") + frappe.reload_doc("lms", "doctype", "chapter") + frappe.reload_doc("lms", "doctype", "lessons") + frappe.reload_doc("lms", "doctype", "lesson") + frappe.reload_doc("lms", "doctype", "chapter_reference") + frappe.reload_doc("lms", "doctype", "lesson_reference") + + frappe.rename_doc("DocType", "Chapters", "Chapter Reference") + frappe.reload_doctype("Chapter Reference", force=True) + + frappe.rename_doc("DocType", "Lessons", "Lesson Reference") + frappe.reload_doctype("Lesson Reference", force=True) From b19c7f2fac3e1bf0183f5fcf70aaa463dc499163 Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 20 Sep 2021 18:11:19 +0530 Subject: [PATCH 2/3] fix: move data between doctypes --- .../rename_chapters_and_lessons_doctype.py | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/community/patches/v0_0/rename_chapters_and_lessons_doctype.py b/community/patches/v0_0/rename_chapters_and_lessons_doctype.py index 9775c845..0086a14f 100644 --- a/community/patches/v0_0/rename_chapters_and_lessons_doctype.py +++ b/community/patches/v0_0/rename_chapters_and_lessons_doctype.py @@ -2,15 +2,28 @@ import frappe def execute(): frappe.reload_doc("lms", "doctype", "lms_course") - frappe.reload_doc("lms", "doctype", "chapters") frappe.reload_doc("lms", "doctype", "chapter") - frappe.reload_doc("lms", "doctype", "lessons") frappe.reload_doc("lms", "doctype", "lesson") frappe.reload_doc("lms", "doctype", "chapter_reference") frappe.reload_doc("lms", "doctype", "lesson_reference") - frappe.rename_doc("DocType", "Chapters", "Chapter Reference") - frappe.reload_doctype("Chapter Reference", force=True) + move_chapters() + 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() + - frappe.rename_doc("DocType", "Lessons", "Lesson Reference") - frappe.reload_doctype("Lesson Reference", force=True) From 8551cfa32e29a7d5f02ccb7918a37645504677dc Mon Sep 17 00:00:00 2001 From: Jannat Patel Date: Mon, 20 Sep 2021 21:40:49 +0530 Subject: [PATCH 3/3] fix: check if present before adding --- .../patches/v0_0/rename_chapters_and_lessons_doctype.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/community/patches/v0_0/rename_chapters_and_lessons_doctype.py b/community/patches/v0_0/rename_chapters_and_lessons_doctype.py index 0086a14f..82d45556 100644 --- a/community/patches/v0_0/rename_chapters_and_lessons_doctype.py +++ b/community/patches/v0_0/rename_chapters_and_lessons_doctype.py @@ -7,8 +7,11 @@ def execute(): frappe.reload_doc("lms", "doctype", "chapter_reference") frappe.reload_doc("lms", "doctype", "lesson_reference") - move_chapters() - move_lessons() + 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=["*"])