From d18df85469fc993520ee397f4a28b422c550408a Mon Sep 17 00:00:00 2001 From: jayparikh111 Date: Thu, 16 Feb 2012 12:51:32 +0530 Subject: Form to Add New Quiz --- testapp/exam/forms.py | 9 ++++++++- testapp/exam/views.py | 23 +++++++++++++++++++++-- testapp/templates/exam/add_quiz.html | 19 ++++++++++++++++++- 3 files changed, 47 insertions(+), 4 deletions(-) (limited to 'testapp') diff --git a/testapp/exam/forms.py b/testapp/exam/forms.py index d99a04d..a867f5f 100644 --- a/testapp/exam/forms.py +++ b/testapp/exam/forms.py @@ -5,7 +5,7 @@ from django.contrib.auth import authenticate from django.contrib.auth.models import User from string import letters, punctuation, digits - +import datetime UNAME_CHARS = letters + "._" + digits PWD_CHARS = letters + punctuation + digits @@ -96,3 +96,10 @@ class UserLoginForm(forms.Form): return user + + +class QuizForm(forms.Form): + start_date = forms.DateField(initial=datetime.date.today) + duration = forms.IntegerField() + active = forms.BooleanField(required = False) + description = forms.CharField(max_length=256, widget=forms.Textarea(attrs={'cols':20,'rows':2})) diff --git a/testapp/exam/views.py b/testapp/exam/views.py index aed45d5..22e701e 100644 --- a/testapp/exam/views.py +++ b/testapp/exam/views.py @@ -14,7 +14,7 @@ from django.db.models import Sum # Local imports. from exam.models import Quiz, Question, QuestionPaper, Profile, Answer, User -from exam.forms import UserRegisterForm, UserLoginForm +from exam.forms import UserRegisterForm, UserLoginForm, QuizForm from exam.xmlrpc_clients import code_server from settings import URL_ROOT @@ -94,7 +94,26 @@ def add_question(request): return render_to_response('exam/add_question.html',{}) def add_quiz(request): - return render_to_response('exam/add_quiz.html',{}) + + if request.method == "POST": + form = QuizForm(request.POST) + if form.is_valid(): + data = form.cleaned_data + u_name, pwd = form.save() + + new_user = authenticate(username = u_name, password = pwd) + login(request, new_user) + return my_redirect("/exam/manage/add_quiz") + + else: + return my_render_to_response('exam/add_quiz.html', + {'form':form}, + context_instance=RequestContext(request)) + else: + form = QuizForm() + return my_render_to_response('exam/add_quiz.html', + {'form':form}, + context_instance=RequestContext(request)) def prof_manage(request): return render_to_response('manage.html',{}) diff --git a/testapp/templates/exam/add_quiz.html b/testapp/templates/exam/add_quiz.html index d568b30..a412ecc 100644 --- a/testapp/templates/exam/add_quiz.html +++ b/testapp/templates/exam/add_quiz.html @@ -6,5 +6,22 @@ Add Quiz {% endblock %} {% block manage %} -

Add Quiz + + +

+{% csrf_token %} +
+ +{{ form.as_table }} +
+
+
+
{% endblock %} -- cgit