X-Git-Url: https://git.mdrn.pl/koed-quiz.git/blobdiff_plain/2c2b8f122dd789a089ac5054e112f59874c01a70..refs/heads/master:/apps/quiz/views.py diff --git a/apps/quiz/views.py b/apps/quiz/views.py index 7160759..700371f 100644 --- a/apps/quiz/views.py +++ b/apps/quiz/views.py @@ -1,3 +1,6 @@ +# This file is part of KOED-Quiz, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# from django.shortcuts import get_object_or_404, render, redirect from quiz.forms import QuestionForm @@ -6,19 +9,19 @@ from quiz.models import Quiz def question(request, slug=None): if slug is None: - question = Quiz.current().start() + question = request.current_quiz.start() request.session['ticket'] = [request.path] else: - question = get_object_or_404(Quiz.current().question_set, slug=slug) + question = get_object_or_404(request.current_quiz.question_set, slug=slug) - ticket = request.session.get('ticket') + ticket = request.session.get('ticket', []) valid = request.path in ticket - print ticket, valid + if valid: cur_index = ticket.index(request.path) if cur_index: previous_url = ticket[cur_index - 1] - else: + elif ticket: valid_url = ticket[-1] if request.method == 'POST' and valid: @@ -44,9 +47,16 @@ def question(request, slug=None): def result(request, slug=None): - ticket = request.session['ticket'] + ticket = request.session.get('ticket', []) valid = request.path in ticket - result = get_object_or_404(Quiz.current().result_set, slug=slug) + if valid: + cur_index = ticket.index(request.path) + if cur_index: + previous_url = ticket[cur_index - 1] + elif ticket: + valid_url = ticket[-1] + + result = get_object_or_404(request.current_quiz.result_set, slug=slug) return render(request, "quiz/result_detail.html", locals())