feat: generate certificate from course page

This commit is contained in:
Jannat Patel
2024-07-12 15:56:50 +05:30
parent 6e1d62340f
commit 23b2e8d682
11 changed files with 146 additions and 228 deletions

View File

@@ -452,45 +452,6 @@ def get_popular_courses():
return course_membership[:3]
def get_evaluation_details(course, member=None):
info = frappe.db.get_value(
"LMS Course",
course,
["grant_certificate_after", "max_attempts", "duration"],
as_dict=True,
)
request = frappe.db.get_value(
"LMS Certificate Request",
{
"course": course,
"member": member or frappe.session.user,
"date": [">=", getdate()],
},
["date", "start_time", "end_time"],
as_dict=True,
)
no_of_attempts = frappe.db.count(
"LMS Certificate Evaluation",
{
"course": course,
"member": member or frappe.session.user,
"status": ["!=", "Pass"],
"creation": [">=", add_months(getdate(), -abs(cint(info.duration)))],
},
)
return frappe._dict(
{
"eligible": info.grant_certificate_after == "Evaluation"
and not request
and no_of_attempts < info.max_attempts,
"request": request,
"no_of_attempts": no_of_attempts,
}
)
def format_amount(amount, currency):
amount_reduced = amount / 1000
if amount_reduced < 1:
@@ -612,14 +573,6 @@ def get_courses_under_review():
)
def get_certificates(member=None):
return frappe.get_all(
"LMS Certificate",
{"member": member or frappe.session.user},
["course", "member", "issue_date", "expiry_date", "name"],
)
def validate_image(path):
if path and "/private" in path:
file = frappe.get_doc("File", {"file_url": path})
@@ -944,19 +897,13 @@ def has_graded_assessment(submission):
return False if status == "Not Graded" else True
def get_evaluator(course, batch=None):
def get_evaluator(course, batch):
evaluator = None
if batch:
evaluator = frappe.db.get_value(
"Batch Course",
{"parent": batch, "course": course},
"evaluator",
)
if not evaluator:
evaluator = frappe.db.get_value("LMS Course", course, "evaluator")
evaluator = frappe.db.get_value(
"Batch Course",
{"parent": batch, "course": course},
"evaluator",
)
return evaluator
@@ -1285,6 +1232,7 @@ def get_course_details(course):
"course_price",
"currency",
"amount_usd",
"enable_certification",
],
as_dict=1,
)