style: course home
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import re
|
||||
import frappe
|
||||
from frappe.utils import flt, cint
|
||||
from frappe.utils import flt, cint, cstr
|
||||
from school.lms.md import markdown_to_html
|
||||
|
||||
RE_SLUG_NOTALLOWED = re.compile("[^a-z0-9]+")
|
||||
@@ -128,7 +128,7 @@ def get_reviews(course):
|
||||
{
|
||||
"course": course
|
||||
},
|
||||
["review", "rating", "owner"],
|
||||
["review", "rating", "owner", "creation"],
|
||||
order_by= "creation desc")
|
||||
out_of_ratings = frappe.db.get_all("DocField",
|
||||
{
|
||||
@@ -144,6 +144,22 @@ def get_reviews(course):
|
||||
|
||||
return reviews
|
||||
|
||||
def get_sorted_reviews(course):
|
||||
rating_count = rating_percent = frappe._dict()
|
||||
keys = ["5.0", "4.0", "3.0", "2.0", "1.0"]
|
||||
for key in keys:
|
||||
rating_count[key] = 0
|
||||
|
||||
reviews = get_reviews(course)
|
||||
for review in reviews:
|
||||
rating_count[cstr(review.rating)] += 1
|
||||
|
||||
for key in keys:
|
||||
rating_percent[key] = (rating_count[key]/len(reviews) * 100)
|
||||
|
||||
|
||||
return rating_percent
|
||||
|
||||
def is_certified(course):
|
||||
certificate = frappe.get_all("LMS Certification",
|
||||
{
|
||||
@@ -258,3 +274,18 @@ def get_course_progress(course, member=None):
|
||||
})
|
||||
precision = cint(frappe.db.get_default("float_precision")) or 3
|
||||
return flt(((completed_lessons/lesson_count) * 100), precision)
|
||||
|
||||
def get_initial_members(course):
|
||||
members = frappe.get_all("LMS Batch Membership",
|
||||
{
|
||||
"course": course
|
||||
},
|
||||
["member"],
|
||||
limit=3)
|
||||
|
||||
member_details = []
|
||||
for member in members:
|
||||
member_details.append(frappe.db.get_value("User",
|
||||
member.member, ["name", "username", "full_name", "user_image"], as_dict=True))
|
||||
|
||||
return member_details
|
||||
|
||||
Reference in New Issue
Block a user