Quiz: Quiz now displays correctly on the portal
Co-authored-by: Chinmay Pai <chinmaydpai@gmail.com>
diff --git a/erpnext/www/lms/course.html b/erpnext/www/lms/course.html
index 182efab..5e2e393 100644
--- a/erpnext/www/lms/course.html
+++ b/erpnext/www/lms/course.html
@@ -10,7 +10,7 @@
{% block content %}
<div id="content-holder" data-type="{{current_content.content_type}}" data-content="{{ current_content.name }}" data-course="{{ current_course.name }}" data-program="{{ current_program }}">
-{% with current_content = current_content, next_content = next_content, course_name = current_course.name, program=current_program%}
+{% with quiz = quiz, current_content = current_content, next_content = next_content, course_name = course_name, program=current_program%}
{% include "www/lms/templates/includes/" + current_content.content_type.lower() + ".html" %}
{% endwith %}
</div>
@@ -23,7 +23,7 @@
padding-top: 3rem !important;
padding-bottom: 1rem !important;
}
-
+
.video-description-section {
padding-top: 0em !important;
}
diff --git a/erpnext/www/lms/course.py b/erpnext/www/lms/course.py
index 0276102..19e495f 100644
--- a/erpnext/www/lms/course.py
+++ b/erpnext/www/lms/course.py
@@ -1,19 +1,23 @@
from __future__ import unicode_literals
+import erpnext.education.utils as utils
import frappe
def get_context(context):
if frappe.form_dict['course']:
- context.current_course = frappe.get_doc("Course", frappe.form_dict["course"])
context.current_content = frappe.get_doc("Content", frappe.form_dict["content"])
+ context.course_name = frappe.form_dict["course"]
+ context.current_course = utils.get_contents_in_course(context.course_name)
context.current_program = frappe.form_dict["program"]
context.next_content = get_next_content(context)
+ if context.current_content.content_type == "Quiz":
+ context.questions = utils.get_quiz_as_dict(context.current_content.name)
def get_next_content(context):
if context.current_course:
- course_data = [content_item.content for content_item in context.current_course.course_content]
- try:
+ course_data = [content.name for content in context.current_course]
+ try:
return course_data[course_data.index(context.current_content.name) + 1]
except IndexError:
return None
\ No newline at end of file
diff --git a/erpnext/www/lms/templates/includes/quiz.html b/erpnext/www/lms/templates/includes/quiz.html
index 280a17b..8d20a26 100644
--- a/erpnext/www/lms/templates/includes/quiz.html
+++ b/erpnext/www/lms/templates/includes/quiz.html
@@ -1,13 +1,13 @@
-{% macro quiz(loop_index, question_id, question, options) %}
-<div class="question mt-4" id="question" data-question="{{ question_id }}">
- <h5>{{ loop_index }}{{ question }}</h5>
+{% macro quiz(loop_index, question) %}
+<div class="question mt-4" id="question['question']" data-question="{{ question['id'] }}">
+ <h5>{{ loop_index }}{{ question['question'] }}</h5>
<div class="options ml-2">
<div class="form-check pb-1 hidden">
- <input class="form-check-input" type="radio" name="{{ question_id }}" value="0" checked>
+ <input class="form-check-input" type="radio" name="{{ question['id'] }}" value="0" checked>
</div>
- {% for option in options %}
+ {% for option in question['options'] %}
<div class="form-check pb-1">
- <input class="form-check-input" type="radio" name="{{ question_id }}" id="{{loop_index}}-{{ option }}" value="{{ loop.index|str }}">
+ <input class="form-check-input" type="radio" name="{{ question['id'] }}" id="{{loop_index}}-{{ option }}" value="{{ option }}">
<label class="form-check-label" for="{{loop_index}}-{{ option }}">
{{ option }}
</label>
@@ -16,7 +16,6 @@
</div>
</div>
{% endmacro %}
-
<section class="quiz-section">
<div class='container'>
<div class="mt-3 row">
@@ -28,9 +27,8 @@
<hr>
<form id="quiz" name="{{ current_content.name }}">
<div id="quiz-body">
- {% for quiz_item in current_content.quiz %}
- {{ quiz(loop.index|str +". ", quiz_item.name, quiz_item.question, [ quiz_item.option_1, quiz_item.option_2,
- quiz_item.option_3, quiz_item.option_4]) }}
+ {% for q in questions %}
+ {{ quiz(loop.index|str +". ", q) }}
{% endfor %}
</div>
<div class="mt-3">
@@ -43,12 +41,12 @@
<h3>Your Score: <span id="result"></span></h3>
</div>
<div class="col-md-4 text-right">
- <a class='btn btn-outline-secondary' href="#">Previous</a>
- {% if next_content != None %}
- <a class='btn btn-primary' href="/lms/course?program={{ program }}&course={{ course_name }}&content={{ next_content }}">Next</a>
- {% else %}
- <a class='btn btn-primary' href="/lms/program?program={{ program }}">Finish Course</a>
- {% endif %}
+ <a class='btn btn-outline-secondary' href="#">Previous</a>
+ {% if next_content != None %}
+ <a class='btn btn-primary' href="/lms/course?program={{ program }}&course={{ course_name }}&content={{ next_content }}">Next</a>
+ {% else %}
+ <a class='btn btn-primary' href="/lms/program?program={{ program }}">Finish Course</a>
+ {% endif %}
</div>
</div>
</div>