feat: assessment tab in class
This commit is contained in:
@@ -57,3 +57,50 @@ def get_current_lesson_details(lesson_number, context, is_edit=False):
|
||||
lesson_info = details_list[0]
|
||||
lesson_info.body = lesson_info.body.replace('"', "'")
|
||||
return lesson_info
|
||||
|
||||
|
||||
def get_assessments(is_moderator, class_name, member):
|
||||
if not member:
|
||||
member = frappe.session.user
|
||||
|
||||
assessments = frappe.get_all(
|
||||
"LMS Assessment",
|
||||
{"parent": class_name},
|
||||
["name", "assessment_type", "assessment_name"],
|
||||
)
|
||||
|
||||
for assessment in assessments:
|
||||
if assessment.assessment_type == "LMS Assignment":
|
||||
assessment.title = frappe.db.get_value(
|
||||
"LMS Assignment", assessment.assessment_name, "title"
|
||||
)
|
||||
if is_moderator:
|
||||
assessment.url = f"/assignments/{assessment.assessment_name}"
|
||||
else:
|
||||
existing_submission = frappe.db.exists(
|
||||
{
|
||||
"doctype": "LMS Assignment Submission",
|
||||
"member": member,
|
||||
"assignment": assessment.assessment_name,
|
||||
}
|
||||
)
|
||||
print(existing_submission)
|
||||
if existing_submission:
|
||||
assessment.submission = frappe.db.get_value(
|
||||
"LMS Assignment Submission",
|
||||
existing_submission,
|
||||
["name", "grade", "comments"],
|
||||
as_dict=True,
|
||||
)
|
||||
|
||||
submission_name = existing_submission if existing_submission else "new-submission"
|
||||
assessment.url = (
|
||||
f"/assignment-submission/{assessment.assessment_name}/{submission_name}"
|
||||
)
|
||||
elif assessment.assessment_type == "LMS Quiz":
|
||||
assessment.title = frappe.db.get_value(
|
||||
"LMS Quiz", assessment.assessment_name, "title"
|
||||
)
|
||||
assessment.url = f"/quizzes/{assessment.assessment_name}"
|
||||
|
||||
return assessments
|
||||
|
||||
Reference in New Issue
Block a user