From b9afb77607c9b05171a8d1abfd3c39201974f141 Mon Sep 17 00:00:00 2001 From: hardythe1 Date: Mon, 30 Jun 2014 14:52:37 +0530 Subject: changes for user dashboard --- testapp/exam/views.py | 64 +++++++++++++++++++++++--------- testapp/templates/exam/quizzes_user.html | 57 ++++++++++++++++++++++++++-- 2 files changed, 100 insertions(+), 21 deletions(-) diff --git a/testapp/exam/views.py b/testapp/exam/views.py index c4c03df..44831b3 100644 --- a/testapp/exam/views.py +++ b/testapp/exam/views.py @@ -131,30 +131,58 @@ def user_register(request): context_instance=ci) -def quizlist_user(request): - """Show All Quizzes that is available to logged-in user.""" - user = request.user - avail_quiz = list(QuestionPaper.objects.filter(quiz__active=True)) - user_answerpapers = AnswerPaper.objects.filter(user=user) - user_quiz = [] - - if user_answerpapers.count() == 0: - context = {'quizzes': avail_quiz} - return my_render_to_response("exam/quizzes_user.html", context) - - for paper in user_answerpapers: - for quiz in avail_quiz: - if paper.question_paper.id == quiz.id and \ - paper.end_time != paper.start_time: - avail_quiz.remove(quiz) - - context = {'quizzes': avail_quiz, 'user': user} +def quizlist_user(request): + """Show All Quizzes that is available to logged-in user.""" + user = request.user + avail_quizzes = list(QuestionPaper.objects.filter(quiz__active=True)) + user_answerpapers = AnswerPaper.objects.filter(user=user) + quizzes_taken = [] + pre_requisites = [] + context = {} + + + if 'cannot_attempt' in request.GET: + context['cannot_attempt'] = True + + if user_answerpapers.count() == 0: + context['quizzes'] = avail_quizzes + context['user'] = user + context['quizzes_taken'] = None + return my_render_to_response("exam/quizzes_user.html", context) + + for answer_paper in user_answerpapers: + for quiz in avail_quizzes: + if answer_paper.question_paper.id == quiz.id and \ + answer_paper.end_time != answer_paper.start_time: + avail_quizzes.remove(quiz) + quizzes_taken.append(answer_paper) + + context['quizzes'] = avail_quizzes + context['user'] = user + context['quizzes_taken'] = quizzes_taken return my_render_to_response("exam/quizzes_user.html", context) def intro(request, questionpaper_id): """Show introduction page before quiz starts""" user = request.user + ci = RequestContext(request) + quest_paper = QuestionPaper.objects.get(id=questionpaper_id) + if quest_paper.quiz.prerequisite: + try: + answer_paper = AnswerPaper.objects.get( + id=quest_paper.quiz.prerequisite.id) + if answer_paper.passed: + context = {'user': user, 'paper_id': questionpaper_id} + return my_render_to_response('exam/intro.html', context, + context_instance=ci) + else: + context = {'user': user, 'cannot_attempt':True} + return my_redirect("/exam/quizzes/?cannot_attempt=True") + + except: + context = {'user': user, 'cannot_attempt':True} + return my_redirect("/exam/quizzes/?cannot_attempt=True") context = {'user': user, 'paper_id': questionpaper_id} ci = RequestContext(request) return my_render_to_response('exam/intro.html', context, diff --git a/testapp/templates/exam/quizzes_user.html b/testapp/templates/exam/quizzes_user.html index b55d3e5..a1204bd 100644 --- a/testapp/templates/exam/quizzes_user.html +++ b/testapp/templates/exam/quizzes_user.html @@ -1,18 +1,69 @@ {% extends "user.html" %} -{% block subtitle %}Available Quizzes{% endblock %} +{% block subtitle %}Hello {{ user.first_name }}, welcome to your dashboard !{% endblock %} {% block css %} {% endblock %} +{% block script %} + + +{% endblock %} + + {% block manage %} + {% if cannot_attempt %} +

You have not passed the prerequisite & hence you cannot take the quiz.

+ {% endif %} +

List of quizzes availbale for you

{% if not quizzes %} -

No active quizzes for you

+
No active quizzes for you
{% endif %} + + + {% for paper in quizzes %} - {{ paper.quiz.description }}
+ + + + {% endfor %} +
QuizPre requisite quiz
+ {{ paper.quiz.description }}
+
+ {% if paper.quiz.prerequisite %} + You have to pass {{ paper.quiz.prerequisite.description }} for taking {{ paper.quiz.description }} + {% else %} + No pre requisites for {{ paper.quiz.description }} + {% endif %} +
+
+

List of quizzes taken by you so far

+ {% if quizzes_taken %} + + + + {% for paper in quizzes_taken %} + + + + + {% endfor %} +
QuizResult
+ {{ paper.question_paper.quiz.description }} + + {% if paper.passed %} +

Pass

+ {% else %} +

Fail

+ {% endif %} +
+ {% else %} +

You have not taken any quiz yet !!

+ {% endif %} + + {% endblock %} -- cgit