quiz_activity: add quiz activity

Signed-off-by: Chinmay Pai <chinmaydpai@gmail.com>
This commit is contained in:
Chinmay Pai
2018-10-22 15:29:05 +05:30
committed by Aditya Hase
parent 3bf71a2df6
commit 3574ac3f5e
3 changed files with 15 additions and 11 deletions

View File

@@ -66,28 +66,32 @@ def evaluate_quiz(quiz_response, **kwargs):
course_name = kwargs.get('course')
try:
quiz = frappe.get_doc("Quiz", quiz_name)
score = quiz.evaluate(quiz_response)
# add_quiz_activity(course_name, quiz_name, result, score)
answers, score = quiz.evaluate(quiz_response)
add_quiz_activity(course_name, quiz_name, score, answers, quiz_response)
return score
except frappe.DoesNotExistError:
frappe.throw("Quiz {0} does not exist".format(quiz_name))
return None
def add_quiz_activity(course, quiz, result, score):
def add_quiz_activity(course, quiz, score, answers, quiz_response):
print(course, quiz, result, score)
enrollment = get_course_enrollment(course, frappe.session.user)
answer_list = list(answers.values())
if not enrollment:
enrollment = add_course_enrollment(course, frappe.session.user)
frappe.throw("The user is not enrolled for the course {course}".format(course=course))
activity = frappe.get_doc({
"doctype": "Quiz Activity",
"enrollment": enrollment.name,
"quiz": quiz,
"score": score,
# "date": frappe.getdate(),
"date": frappe.getdate()
})
for response in result:
activity.append("result", response)
for i in len(quiz_response):
activity.append("result",
{
"selected_option": quiz_response[i],
"result": answer_list[i]})
activity.save()
frappe.db.commit()