diff options
Diffstat (limited to 'allotter')
-rw-r--r-- | allotter/admin.py | 3 | ||||
-rw-r--r-- | allotter/forms.py | 14 | ||||
-rw-r--r-- | allotter/migrations/0004_auto__chg_field_profile_dob.py | 95 | ||||
-rw-r--r-- | allotter/models.py | 2 | ||||
-rw-r--r-- | allotter/views.py | 10 |
5 files changed, 110 insertions, 14 deletions
diff --git a/allotter/admin.py b/allotter/admin.py index 343d2f1..0c14e78 100644 --- a/allotter/admin.py +++ b/allotter/admin.py @@ -1,6 +1,7 @@ -from allotter.models import Exam, Option, Application +from allotter.models import Exam, Option, Application, Profile from django.contrib import admin admin.site.register(Exam) admin.site.register(Option) admin.site.register(Application) +admin.site.register(Profile) diff --git a/allotter/forms.py b/allotter/forms.py index 6c2ad43..5941932 100644 --- a/allotter/forms.py +++ b/allotter/forms.py @@ -44,7 +44,7 @@ class RegistrationForm(forms.Form): category = forms.ChoiceField(widget=forms.RadioSelect, choices=CATEGORIES) #Physical Disability - pd = forms.BooleanField() + pd = forms.BooleanField(required=False) def clean_username(self): @@ -75,12 +75,11 @@ class RegistrationForm(forms.Form): return c_pwd - def save(self): - u_name = self.cleaned_data["username"] - pwd = self.cleaned_data["password"] - email = self.cleaned_data['email'] - new_user = User.objects.create_user(u_name, email, pwd) - + def save_data(self): + u_name = self.cleaned_data["username"] + pwd = self.cleaned_data["password"] + email = self.cleaned_data["email"] + new_user = User.objects.create_user(u_name, email, pwd) new_user.first_name = self.cleaned_data["first_name"] new_user.last_name = self.cleaned_data["last_name"] new_user.save() @@ -96,6 +95,7 @@ class RegistrationForm(forms.Form): return u_name, pwd + class UserLoginForm(forms.Form): username = forms.IntegerField(help_text="Registration Number of Applicant") password = forms.CharField(max_length=30, widget=forms.PasswordInput(), diff --git a/allotter/migrations/0004_auto__chg_field_profile_dob.py b/allotter/migrations/0004_auto__chg_field_profile_dob.py new file mode 100644 index 0000000..53731fb --- /dev/null +++ b/allotter/migrations/0004_auto__chg_field_profile_dob.py @@ -0,0 +1,95 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Changing field 'Profile.dob' + db.alter_column('allotter_profile', 'dob', self.gf('django.db.models.fields.DateField')()) + + + def backwards(self, orm): + + # Changing field 'Profile.dob' + db.alter_column('allotter_profile', 'dob', self.gf('django.db.models.fields.DateTimeField')()) + + + models = { + 'allotter.application': { + 'Meta': {'object_name': 'Application'}, + 'editable': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'exam_taken': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['allotter.Exam']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'options': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['allotter.Option']", 'symmetrical': 'False'}), + 'profile': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['allotter.Profile']"}), + 'status': ('django.db.models.fields.CharField', [], {'max_length': '24'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'allotter.exam': { + 'Meta': {'object_name': 'Exam'}, + 'exam_code': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'exam_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}) + }, + 'allotter.option': { + 'Meta': {'object_name': 'Option'}, + 'exam': ('django.db.models.fields.related.ManyToManyField', [], {'default': '1', 'to': "orm['allotter.Exam']", 'symmetrical': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'opt_name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'seats': ('django.db.models.fields.IntegerField', [], {}) + }, + 'allotter.profile': { + 'Meta': {'object_name': 'Profile'}, + 'application_number': ('django.db.models.fields.IntegerField', [], {'max_length': '20'}), + 'category': ('django.db.models.fields.CharField', [], {'max_length': '30'}), + 'dob': ('django.db.models.fields.DateField', [], {}), + 'exam_code': ('django.db.models.fields.CharField', [], {'max_length': '30'}), + 'gender': ('django.db.models.fields.CharField', [], {'max_length': '10'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'pd': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'rank': ('django.db.models.fields.IntegerField', [], {'max_length': '6'}), + 'user': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['auth.User']", 'unique': 'True'}) + }, + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + } + } + + complete_apps = ['allotter'] diff --git a/allotter/models.py b/allotter/models.py index a12f1a9..773d9d1 100644 --- a/allotter/models.py +++ b/allotter/models.py @@ -75,7 +75,7 @@ class Profile(models.Model): verbose_name=u"Examination Application number", help_text=u"Application number as per the Examination Hall ticket") - dob = models.DateTimeField(verbose_name=u"Date of Birth", + dob = models.DateField(verbose_name=u"Date of Birth", help_text=u"Date of birth as given in the application") category = models.CharField(max_length=30, choices=CATEGORIES) diff --git a/allotter/views.py b/allotter/views.py index bc7dac8..5790ddd 100644 --- a/allotter/views.py +++ b/allotter/views.py @@ -1,4 +1,5 @@ from django.contrib.auth import login, logout, authenticate +from django.contrib.auth.decorators import login_required from django.shortcuts import render_to_response, get_object_or_404 from django.shortcuts import render, redirect from django.template import RequestContext @@ -30,11 +31,9 @@ def user_register(request): form = RegistrationForm(request.POST) if form.is_valid(): data = form.cleaned_data - u_name, pwd = form.save() + u_name, pwd = form.save_data() - new_user = authenticate(username = u_name, password = pwd) - login(request, new_user) - return redirect("allotter/hello/") + return redirect("/allotter/hello/") else: return render_to_response('allotter/register.html', @@ -69,13 +68,14 @@ def user_login(request): return render_to_response('allotter/login.html', context, context_instance=RequestContext(request)) +@login_required def hello(request): user = request.user context = {'user': user} ci = RequestContext(request) return render_to_response('allotter/hello.html', context, context_instance=ci) - +@login_required def apply(request): user = request.user if not(user.is_authenticated()): |