def quiz(request): if 'uid' not in request.session: return redirect('login') user = User.objects.get(id=request.session['uid']) if user.stage == 'quiz_started': if request.method == "GET": quizForm = QuizForm() return render(request, 'core/quiz.html', {'quizForm': quizForm}) elif request.method == "POST": quizForm = QuizForm(request.POST, request.FILES) if quizForm.is_valid(): quiz = quizForm.save(commit=False) quiz.work_eligible = request.POST['work_eligible'] == 'Yes' quiz.save() user.quiz = quiz user.stage = 'quiz_completed' now = datetime.datetime.now() user.quiz_completed_date = now user.latest_change = now user.save() else: return render(request, 'core/quiz.html', {'quizForm': quizForm, 'errors': quizForm.errors}) return redirect('decider')
def make_quiz(request): """Shows all current quizes and lets users make new ones""" quizzes = Quiz.objects.all() if request.method == "POST": # copies form data to a new dictionary and adds the user as author data = request.POST data_copy = dict() for key, value in data.iteritems(): data_copy[key] = value data_copy['author'] = request.user.id form = QuizForm(data_copy) if form.is_valid(): form.save(request.user) return HttpResponseRedirect('/quiz/new') else: form = QuizForm() return render(request, 'quiz/make_quiz.html', context={'form': form, 'quizzes': quizzes})
def add_quiz(request): """Add the new quiz that superuser created to the database.""" form = QuizForm(request.POST) if form.is_valid(): new_quiz = form.save() new_quiz.save() return HttpResponseRedirect('/create_quiz/') else: return render(request, 'invalidAttempt.html', {'message': 'Invalid input!'})
def quizCreate(request, department, class_number, year, semester, section): user = request.user c = getClassObject(department, class_number, year, semester, section, user) quizzes = Quiz.objects.filter(cid=c.cid) if request.method == 'POST': quiz = Quiz(cid=c) form = QuizForm(request.POST, instance=quiz) if form.is_valid(): form.save() url = getClassUrl(c) + 'instructor/quiz/create/' return HttpResponseRedirect("") else: form = QuizForm() content = getContent(c, user) content['form'] = form content['quizzes'] = quizzes return render_to_response('instructor/quizCreate.html', content, context_instance=RequestContext(request))