Merge pull request #2018 from Anexus5919/fix-lesson-form-stale-state
fix: reindex lessons after deletion to prevent stale form state
This commit is contained in:
@@ -462,15 +462,17 @@ def delete_lesson(lesson, chapter):
|
|||||||
if not can_modify_course(course):
|
if not can_modify_course(course):
|
||||||
frappe.throw(_("You do not have permission to delete this lesson."), frappe.PermissionError)
|
frappe.throw(_("You do not have permission to delete this lesson."), frappe.PermissionError)
|
||||||
|
|
||||||
# Delete Reference
|
lessons = frappe.get_all(
|
||||||
chapter = frappe.get_doc("Course Chapter", chapter)
|
"Lesson Reference",
|
||||||
chapter.lessons = [row for row in chapter.lessons if row.lesson != lesson]
|
{"parent": chapter},
|
||||||
chapter.save()
|
pluck="lesson",
|
||||||
|
order_by="idx",
|
||||||
|
)
|
||||||
|
lessons.remove(lesson)
|
||||||
|
frappe.db.delete("Lesson Reference", {"parent": chapter, "lesson": lesson})
|
||||||
|
update_index(lessons, chapter)
|
||||||
|
|
||||||
# Delete progress
|
|
||||||
frappe.db.delete("LMS Course Progress", {"lesson": lesson})
|
frappe.db.delete("LMS Course Progress", {"lesson": lesson})
|
||||||
|
|
||||||
# Delete Lesson
|
|
||||||
frappe.db.delete("Course Lesson", lesson)
|
frappe.db.delete("Course Lesson", lesson)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user