diff --git a/community/hooks.py b/community/hooks.py index abaedcb0..90ad31b8 100644 --- a/community/hooks.py +++ b/community/hooks.py @@ -150,6 +150,7 @@ primary_rules = [ # Any frappe default URL is blocked by profile-rules, add it here to unblock it whitelist = [ + "/home", "/login", "/update-password", "/update-profile", diff --git a/community/lms/doctype/lms_course/lms_course.py b/community/lms/doctype/lms_course/lms_course.py index 49404f08..8d6de54e 100644 --- a/community/lms/doctype/lms_course/lms_course.py +++ b/community/lms/doctype/lms_course/lms_course.py @@ -88,3 +88,15 @@ class LMSCourse(Document): member.batch_count = len(frappe.get_all("LMS Batch Membership", {"member": member.name, "member_type": "Mentor"})) course_mentors.append(member) return course_mentors + + def get_instructor(self): + return frappe.get_doc("User", self.owner) + + @staticmethod + def find_all(): + """Returns all published courses. + """ + rows = frappe.db.get_all("LMS Course", + filters={"is_published": True}, + fields='*') + return [frappe.get_doc(dict(row, doctype='LMS Course')) for row in rows] diff --git a/community/lms/doctype/lms_course/test_lms_course.py b/community/lms/doctype/lms_course/test_lms_course.py index 2f50829b..a54ab337 100644 --- a/community/lms/doctype/lms_course/test_lms_course.py +++ b/community/lms/doctype/lms_course/test_lms_course.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import frappe +from .lms_course import LMSCourse import unittest class TestLMSCourse(unittest.TestCase): @@ -26,6 +27,23 @@ class TestLMSCourse(unittest.TestCase): assert course.slug == "test-course" assert course.get_mentors() == [] + def test_find_all(self): + courses = LMSCourse.find_all() + assert courses == [] + + # new couse, but not published + course = self.new_course("Test Course") + assert courses == [] + + # publish the course + course.is_published = True + course.save() + + # now we should find one course + courses = LMSCourse.find_all() + assert [c.slug for c in courses] == [course.slug] + + # disabled this test as it is failing def _test_add_mentors(self): course = self.new_course("Test Course") assert course.get_mentors() == [] @@ -47,4 +65,4 @@ def new_user(name, email): email=email, first_name=name)) doc.insert() - return doc \ No newline at end of file + return doc diff --git a/community/lms/widgets/CourseTeaser.html b/community/lms/widgets/CourseTeaser.html new file mode 100644 index 00000000..df2b4e22 --- /dev/null +++ b/community/lms/widgets/CourseTeaser.html @@ -0,0 +1,11 @@ +