Merge pull request #1010 from pateljannat/evaluation-calendar
feat: Evaluation and Certification from Learning Portal
This commit is contained in:
@@ -7,6 +7,7 @@ from frappe import _
|
||||
from frappe.query_builder import DocType
|
||||
from frappe.query_builder.functions import Count
|
||||
from frappe.utils import time_diff, now_datetime, get_datetime
|
||||
from typing import Optional
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
@@ -610,3 +611,91 @@ def check_app_permission():
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def save_evaluation_details(
|
||||
member,
|
||||
course,
|
||||
batch_name,
|
||||
evaluator,
|
||||
date,
|
||||
start_time,
|
||||
end_time,
|
||||
status,
|
||||
rating,
|
||||
summary,
|
||||
):
|
||||
"""
|
||||
Save evaluation details for a member against a course.
|
||||
"""
|
||||
evaluation = frappe.db.exists(
|
||||
"LMS Certificate Evaluation", {"member": member, "course": course}
|
||||
)
|
||||
|
||||
details = {
|
||||
"date": date,
|
||||
"start_time": start_time,
|
||||
"end_time": end_time,
|
||||
"status": status,
|
||||
"rating": rating / 5,
|
||||
"summary": summary,
|
||||
"batch_name": batch_name,
|
||||
}
|
||||
|
||||
if evaluation:
|
||||
frappe.db.set_value("LMS Certificate Evaluation", evaluation, details)
|
||||
return evaluation
|
||||
else:
|
||||
doc = frappe.new_doc("LMS Certificate Evaluation")
|
||||
details.update(
|
||||
{
|
||||
"member": member,
|
||||
"course": course,
|
||||
"evaluator": evaluator,
|
||||
}
|
||||
)
|
||||
doc.update(details)
|
||||
doc.insert()
|
||||
return doc.name
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def save_certificate_details(
|
||||
member,
|
||||
course,
|
||||
batch_name,
|
||||
evaluator,
|
||||
issue_date,
|
||||
expiry_date,
|
||||
template,
|
||||
published=True,
|
||||
):
|
||||
"""
|
||||
Save certificate details for a member against a course.
|
||||
"""
|
||||
certificate = frappe.db.exists("LMS Certificate", {"member": member, "course": course})
|
||||
|
||||
details = {
|
||||
"published": published,
|
||||
"issue_date": issue_date,
|
||||
"expiry_date": expiry_date,
|
||||
"template": template,
|
||||
"batch_name": batch_name,
|
||||
}
|
||||
|
||||
if certificate:
|
||||
frappe.db.set_value("LMS Certificate", certificate, details)
|
||||
return certificate
|
||||
else:
|
||||
doc = frappe.new_doc("LMS Certificate")
|
||||
details.update(
|
||||
{
|
||||
"member": member,
|
||||
"course": course,
|
||||
"evaluator": evaluator,
|
||||
}
|
||||
)
|
||||
doc.update(details)
|
||||
doc.insert()
|
||||
return doc.name
|
||||
|
||||
@@ -15,8 +15,10 @@
|
||||
"template",
|
||||
"published",
|
||||
"section_break_scyf",
|
||||
"expiry_date",
|
||||
"evaluator",
|
||||
"evaluator_name",
|
||||
"column_break_slaw",
|
||||
"expiry_date",
|
||||
"batch_name"
|
||||
],
|
||||
"fields": [
|
||||
@@ -95,11 +97,24 @@
|
||||
{
|
||||
"fieldname": "column_break_slaw",
|
||||
"fieldtype": "Column Break"
|
||||
},
|
||||
{
|
||||
"fieldname": "evaluator",
|
||||
"fieldtype": "Link",
|
||||
"label": "Evaluator",
|
||||
"options": "User"
|
||||
},
|
||||
{
|
||||
"fetch_from": "evaluator.full_name",
|
||||
"fieldname": "evaluator_name",
|
||||
"fieldtype": "Data",
|
||||
"label": "Evaluator Name",
|
||||
"read_only": 1
|
||||
}
|
||||
],
|
||||
"index_web_pages_for_search": 1,
|
||||
"links": [],
|
||||
"modified": "2024-07-16 15:29:19.708888",
|
||||
"modified": "2024-09-11 11:37:20.419955",
|
||||
"modified_by": "Administrator",
|
||||
"module": "LMS",
|
||||
"name": "LMS Certificate",
|
||||
|
||||
@@ -8,12 +8,16 @@
|
||||
"field_order": [
|
||||
"member",
|
||||
"member_name",
|
||||
"column_break_ueht",
|
||||
"course",
|
||||
"batch_name",
|
||||
"section_break_zwfi",
|
||||
"evaluator",
|
||||
"evaluator_name",
|
||||
"column_break_5",
|
||||
"date",
|
||||
"start_time",
|
||||
"end_time",
|
||||
"batch_name",
|
||||
"section_break_6",
|
||||
"rating",
|
||||
"status",
|
||||
@@ -103,11 +107,33 @@
|
||||
"in_standard_filter": 1,
|
||||
"label": "Batch Name",
|
||||
"options": "LMS Batch"
|
||||
},
|
||||
{
|
||||
"fieldname": "column_break_ueht",
|
||||
"fieldtype": "Column Break"
|
||||
},
|
||||
{
|
||||
"fieldname": "section_break_zwfi",
|
||||
"fieldtype": "Section Break"
|
||||
},
|
||||
{
|
||||
"fieldname": "evaluator",
|
||||
"fieldtype": "Link",
|
||||
"in_standard_filter": 1,
|
||||
"label": "Evaluator",
|
||||
"options": "User"
|
||||
},
|
||||
{
|
||||
"fetch_from": "evaluator.full_name",
|
||||
"fieldname": "evaluator_name",
|
||||
"fieldtype": "Data",
|
||||
"label": "Evaluator Name",
|
||||
"read_only": 1
|
||||
}
|
||||
],
|
||||
"index_web_pages_for_search": 1,
|
||||
"links": [],
|
||||
"modified": "2024-07-16 14:06:11.977666",
|
||||
"modified": "2024-09-11 11:20:06.233491",
|
||||
"modified_by": "Administrator",
|
||||
"module": "LMS",
|
||||
"name": "LMS Certificate Evaluation",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"evaluator_name",
|
||||
"column_break_sjco",
|
||||
"batch_name",
|
||||
"batch_title",
|
||||
"timezone",
|
||||
"section_break_lifi",
|
||||
"date",
|
||||
@@ -38,7 +39,6 @@
|
||||
{
|
||||
"fieldname": "member",
|
||||
"fieldtype": "Link",
|
||||
"in_standard_filter": 1,
|
||||
"label": "Member",
|
||||
"options": "User",
|
||||
"reqd": 1
|
||||
@@ -46,9 +46,9 @@
|
||||
{
|
||||
"fieldname": "evaluator",
|
||||
"fieldtype": "Link",
|
||||
"in_standard_filter": 1,
|
||||
"label": "Evaluator",
|
||||
"options": "User",
|
||||
"read_only": 1
|
||||
"options": "User"
|
||||
},
|
||||
{
|
||||
"fieldname": "date",
|
||||
@@ -137,11 +137,18 @@
|
||||
"fieldtype": "Data",
|
||||
"label": "Timezone",
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"fetch_from": "batch_name.title",
|
||||
"fieldname": "batch_title",
|
||||
"fieldtype": "Data",
|
||||
"hidden": 1,
|
||||
"label": "Batch Title"
|
||||
}
|
||||
],
|
||||
"index_web_pages_for_search": 1,
|
||||
"links": [],
|
||||
"modified": "2024-09-05 16:28:54.043488",
|
||||
"modified": "2024-09-11 11:19:44.669132",
|
||||
"modified_by": "Administrator",
|
||||
"module": "LMS",
|
||||
"name": "LMS Certificate Request",
|
||||
|
||||
Reference in New Issue
Block a user