diff --git a/school/lms/doctype/lms_course/lms_course.json b/school/lms/doctype/lms_course/lms_course.json
index 2a4b0c25..5b63e616 100644
--- a/school/lms/doctype/lms_course/lms_course.json
+++ b/school/lms/doctype/lms_course/lms_course.json
@@ -19,7 +19,7 @@
"video_link",
"image",
"column_break_3",
- "instructor",
+ "instructors",
"tags",
"section_break_7",
"is_published",
@@ -104,10 +104,10 @@
"options": "Chapter Reference"
},
{
- "fieldname": "instructor",
+ "fieldname": "instructors",
"fieldtype": "Table MultiSelect",
"in_standard_filter": 1,
- "label": "Instructor",
+ "label": "Instructors",
"options": "Course Instructor"
},
{
@@ -167,7 +167,7 @@
"link_fieldname": "course"
}
],
- "modified": "2022-02-07 11:41:39.735324",
+ "modified": "2022-02-07 11:41:39.735325",
"modified_by": "Administrator",
"module": "LMS",
"name": "LMS Course",
@@ -192,4 +192,4 @@
"states": [],
"title_field": "title",
"track_changes": 1
-}
\ No newline at end of file
+}
diff --git a/school/lms/doctype/lms_course/lms_course.py b/school/lms/doctype/lms_course/lms_course.py
index 31ed35e0..91137cf9 100644
--- a/school/lms/doctype/lms_course/lms_course.py
+++ b/school/lms/doctype/lms_course/lms_course.py
@@ -143,10 +143,14 @@ class LMSCourse(Document):
fieldname="batch")
return batch_name and frappe.get_doc("LMS Batch", batch_name)
- def get_instructor(self):
- if self.instructor:
- return frappe.get_doc("User", self.instructor)
- return frappe.get_doc("User", self.owner)
+ def get_instructors(self):
+ instructors = []
+ if self.instructors:
+ for instructor in self.instructors:
+ instructors.append(frappe.get_doc("User", instructor.instructor))
+ else:
+ instructors.append(frappe.get_doc("User", self.owner))
+ return instructors
def get_chapters(self):
"""Returns all chapters of this course.
diff --git a/school/lms/widgets/CourseCard.html b/school/lms/widgets/CourseCard.html
index b639f11d..e5b51737 100644
--- a/school/lms/widgets/CourseCard.html
+++ b/school/lms/widgets/CourseCard.html
@@ -41,14 +41,16 @@
{{ course.title }}
+ {% for instructor in course.get_instructors() %}
- {{ widgets.Avatar(member=course.get_instructor(), avatar_class="avatar-small") }}
-
+ {{ widgets.Avatar(member=instructor, avatar_class="avatar-small") }}
+
- {{ course.get_instructor().full_name }}
+ {{ instructor.full_name }}
+ {% endfor %}
{% if course.get_students() | length %}
diff --git a/school/lms/widgets/CourseTeaser.html b/school/lms/widgets/CourseTeaser.html
deleted file mode 100644
index 280d2783..00000000
--- a/school/lms/widgets/CourseTeaser.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- {{ course.short_introduction or "" }}
-
-
-
-
diff --git a/school/patches.txt b/school/patches.txt
index c7c9cce3..0a1c636f 100644
--- a/school/patches.txt
+++ b/school/patches.txt
@@ -21,4 +21,4 @@ execute:frappe.delete_doc("DocType", "LMS Topic") #06-10-2021
school.patches.v0_0.add_progress_to_membership #20-10-2021
execute:frappe.delete_doc("Workspace", "LMS", ignore_missing=True, force=True) #24-10-2021
execute:frappe.delete_doc("Custom Field", "User-verify_age", ignore_missing=True, force=True)
-school.patches.v0_0.multiple_instructors
+school.patches.v0_0.multiple_instructors #08-02-2022
diff --git a/school/patches/v0_0/multiple_instructors.py b/school/patches/v0_0/multiple_instructors.py
index 1da27ace..8d914d7c 100644
--- a/school/patches/v0_0/multiple_instructors.py
+++ b/school/patches/v0_0/multiple_instructors.py
@@ -1,4 +1,14 @@
import frappe
def execute():
- frappe.get_all("LMS Course", fields=["name", "instructor"])
+ frappe.reload_doc("lms", "doctype", "lms_course")
+ 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()
diff --git a/school/www/courses/course.html b/school/www/courses/course.html
index 566da4bc..38a5609d 100644
--- a/school/www/courses/course.html
+++ b/school/www/courses/course.html
@@ -129,7 +129,9 @@
Creator
- {{ widgets.MemberCard(member=course.get_instructor(), show_course_count=True, avatar_class="avatar-large") }}
+ {% for instructor in course.get_instructors() %}
+ {{ widgets.MemberCard(member=instructor, show_course_count=True, avatar_class="avatar-large") }}
+ {% endfor %}
{% endmacro %}