feat: assessment tab in class

This commit is contained in:
Jannat Patel
2023-05-30 22:11:14 +05:30
parent 70a036e5a7
commit bb39999b84
41 changed files with 1157 additions and 263 deletions

View File

@@ -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