# HG changeset patch # User Amit Sethi # Date 1293186741 -19800 # Node ID 704af5be5fb99e2d8afa17846c795e9aefd96936 # Parent 206a8a72d77c5477328e4f3aaa7a965e2de7f073# Parent a52775d210e3e2cc71726c7b805dd55e991f7c57 Merging heads diff -r 206a8a72d77c -r 704af5be5fb9 buildout.cfg --- a/buildout.cfg Fri Dec 24 15:54:25 2010 +0530 +++ b/buildout.cfg Fri Dec 24 16:02:21 2010 +0530 @@ -1,16 +1,27 @@ [buildout] -parts = django tagging django-robots south +parts = django tagging django-robots south reportlab eggs = Werkzeug PIL docutils + +[versions] +reportlab=2.5 + +[reportlab] +recipe=zc.recipe.egg +eggs= reportlab +find-links= + http://distfiles.minitage.org/public/externals/minitage/ [django] recipe = djangorecipe version = 1.2.1 settings = production -eggs = ${buildout:eggs} +eggs = + ${buildout:eggs} + ${reportlab:eggs} pythonpath = ${tagging:location} ${django-robots:location} diff -r 206a8a72d77c -r 704af5be5fb9 development.cfg --- a/development.cfg Fri Dec 24 15:54:25 2010 +0530 +++ b/development.cfg Fri Dec 24 16:02:21 2010 +0530 @@ -5,4 +5,6 @@ [django] settings = development -eggs = ${buildout:eggs} +eggs = + ${buildout:eggs} + ${reportlab:eggs} diff -r 206a8a72d77c -r 704af5be5fb9 project/scipycon/registration/admin.py --- a/project/scipycon/registration/admin.py Fri Dec 24 15:54:25 2010 +0530 +++ b/project/scipycon/registration/admin.py Fri Dec 24 16:02:21 2010 +0530 @@ -11,10 +11,11 @@ from .models import Wifi class RegistrationAdmin(admin.ModelAdmin): - list_display = ('registrant', 'full_name', 'laptop', 'slug', - 'email', 'city', 'organisation', 'occupation', - 'postcode', 'tshirt', 'conference', 'tutorial', - 'sprint', 'allow_contact') + list_display = ('registrant', 'full_name', 'phone_num', + 'laptop', 'slug', 'email', 'city', + 'organisation', 'occupation', 'postcode', + 'tshirt', 'conference', 'tutorial', + 'sprint', 'allow_contact') fieldsets = ( ('Details', { 'fields': ('slug', 'registrant', 'organisation', 'occupation', diff -r 206a8a72d77c -r 704af5be5fb9 project/scipycon/registration/migrations/0002_auto__add_field_payment_acco_confirmed.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/project/scipycon/registration/migrations/0002_auto__add_field_payment_acco_confirmed.py Fri Dec 24 16:02:21 2010 +0530 @@ -0,0 +1,117 @@ +# 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): + + # Adding field 'Payment.acco_confirmed' + db.add_column('registration_payment', 'acco_confirmed', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) + + + def backwards(self, orm): + + # Deleting field 'Payment.acco_confirmed' + db.delete_column('registration_payment', 'acco_confirmed') + + + models = { + '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'}) + }, + 'base.event': { + 'Meta': {'object_name': 'Event'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'scope': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'status': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'turn': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + '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'}) + }, + 'registration.accommodation': { + 'Meta': {'object_name': 'Accommodation'}, + 'accommodation_days': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'accommodation_required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'sex': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'registration.payment': { + 'Meta': {'object_name': 'Payment'}, + 'acco_confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'details': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'registration.registration': { + 'Meta': {'object_name': 'Registration'}, + 'allow_contact': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'city': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'conference': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_conference': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_sprint': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_tutorial': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_mod': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'occupation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'organisation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'phone_num': ('django.db.models.fields.CharField', [], {'max_length': '14', 'blank': 'True'}), + 'postcode': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'registrant': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), + 'sprint': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'submitted': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'tshirt': ('django.db.models.fields.CharField', [], {'max_length': '3'}), + 'tutorial': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'registration.wifi': { + 'Meta': {'object_name': 'Wifi'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'registration_id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'wifi': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['registration'] diff -r 206a8a72d77c -r 704af5be5fb9 project/scipycon/registration/migrations/0003_auto__add_field_payment_date_confirmed.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/project/scipycon/registration/migrations/0003_auto__add_field_payment_date_confirmed.py Fri Dec 24 16:02:21 2010 +0530 @@ -0,0 +1,118 @@ +# 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): + + # Adding field 'Payment.date_confirmed' + db.add_column('registration_payment', 'date_confirmed', self.gf('django.db.models.fields.DateTimeField')(default=False, blank=True), keep_default=False) + + + def backwards(self, orm): + + # Deleting field 'Payment.date_confirmed' + db.delete_column('registration_payment', 'date_confirmed') + + + models = { + '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'}) + }, + 'base.event': { + 'Meta': {'object_name': 'Event'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'scope': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'status': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'turn': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + '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'}) + }, + 'registration.accommodation': { + 'Meta': {'object_name': 'Accommodation'}, + 'accommodation_days': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'accommodation_required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'sex': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'registration.payment': { + 'Meta': {'object_name': 'Payment'}, + 'acco_confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'date_confirmed': ('django.db.models.fields.DateTimeField', [], {'default': 'False', 'blank': 'True'}), + 'details': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'registration.registration': { + 'Meta': {'object_name': 'Registration'}, + 'allow_contact': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'city': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'conference': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_conference': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_sprint': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_tutorial': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_mod': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'occupation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'organisation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'phone_num': ('django.db.models.fields.CharField', [], {'max_length': '14', 'blank': 'True'}), + 'postcode': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'registrant': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), + 'sprint': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'submitted': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'tshirt': ('django.db.models.fields.CharField', [], {'max_length': '3'}), + 'tutorial': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'registration.wifi': { + 'Meta': {'object_name': 'Wifi'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'registration_id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'wifi': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['registration'] diff -r 206a8a72d77c -r 704af5be5fb9 project/scipycon/registration/migrations/0004_auto__chg_field_payment_date_confirmed.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/project/scipycon/registration/migrations/0004_auto__chg_field_payment_date_confirmed.py Fri Dec 24 16:02:21 2010 +0530 @@ -0,0 +1,118 @@ +# 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 'Payment.date_confirmed' + db.alter_column('registration_payment', 'date_confirmed', self.gf('django.db.models.fields.DateTimeField')(null=True)) + + + def backwards(self, orm): + + # Changing field 'Payment.date_confirmed' + db.alter_column('registration_payment', 'date_confirmed', self.gf('django.db.models.fields.DateTimeField')()) + + + models = { + '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'}) + }, + 'base.event': { + 'Meta': {'object_name': 'Event'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'scope': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'status': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'turn': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + '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'}) + }, + 'registration.accommodation': { + 'Meta': {'object_name': 'Accommodation'}, + 'accommodation_days': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'accommodation_required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'sex': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'registration.payment': { + 'Meta': {'object_name': 'Payment'}, + 'acco_confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'date_confirmed': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'details': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'registration.registration': { + 'Meta': {'object_name': 'Registration'}, + 'allow_contact': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'city': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'conference': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_conference': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_sprint': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_tutorial': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_mod': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'occupation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'organisation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'phone_num': ('django.db.models.fields.CharField', [], {'max_length': '14', 'blank': 'True'}), + 'postcode': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'registrant': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), + 'sprint': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'submitted': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'tshirt': ('django.db.models.fields.CharField', [], {'max_length': '3'}), + 'tutorial': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'registration.wifi': { + 'Meta': {'object_name': 'Wifi'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'registration_id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'wifi': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['registration'] diff -r 206a8a72d77c -r 704af5be5fb9 project/scipycon/registration/migrations/0005_auto__add_field_payment_confirmed_mail__add_field_payment_acco_confirm.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/project/scipycon/registration/migrations/0005_auto__add_field_payment_confirmed_mail__add_field_payment_acco_confirm.py Fri Dec 24 16:02:21 2010 +0530 @@ -0,0 +1,126 @@ +# 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): + + # Adding field 'Payment.confirmed_mail' + db.add_column('registration_payment', 'confirmed_mail', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) + + # Adding field 'Payment.acco_confirmed_mail' + db.add_column('registration_payment', 'acco_confirmed_mail', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) + + + def backwards(self, orm): + + # Deleting field 'Payment.confirmed_mail' + db.delete_column('registration_payment', 'confirmed_mail') + + # Deleting field 'Payment.acco_confirmed_mail' + db.delete_column('registration_payment', 'acco_confirmed_mail') + + + models = { + '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'}) + }, + 'base.event': { + 'Meta': {'object_name': 'Event'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'scope': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'status': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'turn': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + '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'}) + }, + 'registration.accommodation': { + 'Meta': {'object_name': 'Accommodation'}, + 'accommodation_days': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'accommodation_required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'sex': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'registration.payment': { + 'Meta': {'object_name': 'Payment'}, + 'acco_confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'acco_confirmed_mail': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'confirmed_mail': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'date_confirmed': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'details': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'registration.registration': { + 'Meta': {'object_name': 'Registration'}, + 'allow_contact': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'city': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'conference': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_conference': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_sprint': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_tutorial': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_mod': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'occupation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'organisation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'phone_num': ('django.db.models.fields.CharField', [], {'max_length': '14', 'blank': 'True'}), + 'postcode': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'registrant': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), + 'sprint': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'submitted': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'tshirt': ('django.db.models.fields.CharField', [], {'max_length': '3'}), + 'tutorial': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'registration.wifi': { + 'Meta': {'object_name': 'Wifi'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'registration_id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'wifi': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['registration'] diff -r 206a8a72d77c -r 704af5be5fb9 project/scipycon/registration/migrations/0006_auto__add_field_accommodation_accommodation_on_1st__add_field_accommod.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/project/scipycon/registration/migrations/0006_auto__add_field_accommodation_accommodation_on_1st__add_field_accommod.py Fri Dec 24 16:02:21 2010 +0530 @@ -0,0 +1,156 @@ +# 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): + + # Adding field 'Accommodation.accommodation_on_1st' + db.add_column('registration_accommodation', 'accommodation_on_1st', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) + + # Adding field 'Accommodation.accommodation_on_2nd' + db.add_column('registration_accommodation', 'accommodation_on_2nd', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) + + # Adding field 'Accommodation.accommodation_on_3rd' + db.add_column('registration_accommodation', 'accommodation_on_3rd', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) + + # Adding field 'Accommodation.accommodation_on_4th' + db.add_column('registration_accommodation', 'accommodation_on_4th', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) + + # Adding field 'Accommodation.accommodation_on_5th' + db.add_column('registration_accommodation', 'accommodation_on_5th', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) + + # Adding field 'Accommodation.accommodation_on_6th' + db.add_column('registration_accommodation', 'accommodation_on_6th', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False) + + + def backwards(self, orm): + + # Deleting field 'Accommodation.accommodation_on_1st' + db.delete_column('registration_accommodation', 'accommodation_on_1st') + + # Deleting field 'Accommodation.accommodation_on_2nd' + db.delete_column('registration_accommodation', 'accommodation_on_2nd') + + # Deleting field 'Accommodation.accommodation_on_3rd' + db.delete_column('registration_accommodation', 'accommodation_on_3rd') + + # Deleting field 'Accommodation.accommodation_on_4th' + db.delete_column('registration_accommodation', 'accommodation_on_4th') + + # Deleting field 'Accommodation.accommodation_on_5th' + db.delete_column('registration_accommodation', 'accommodation_on_5th') + + # Deleting field 'Accommodation.accommodation_on_6th' + db.delete_column('registration_accommodation', 'accommodation_on_6th') + + + models = { + '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'}) + }, + 'base.event': { + 'Meta': {'object_name': 'Event'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'scope': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'status': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'turn': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + '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'}) + }, + 'registration.accommodation': { + 'Meta': {'object_name': 'Accommodation'}, + 'accommodation_days': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'accommodation_on_1st': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'accommodation_on_2nd': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'accommodation_on_3rd': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'accommodation_on_4th': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'accommodation_on_5th': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'accommodation_on_6th': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'accommodation_required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'sex': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'registration.payment': { + 'Meta': {'object_name': 'Payment'}, + 'acco_confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'acco_confirmed_mail': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'confirmed': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'confirmed_mail': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'date_confirmed': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'details': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '25', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) + }, + 'registration.registration': { + 'Meta': {'object_name': 'Registration'}, + 'allow_contact': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'city': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'conference': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_conference': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_sprint': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'final_tutorial': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'last_mod': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'occupation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'organisation': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'phone_num': ('django.db.models.fields.CharField', [], {'max_length': '14', 'blank': 'True'}), + 'postcode': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'registrant': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'slug': ('django.db.models.fields.SlugField', [], {'max_length': '50', 'db_index': 'True'}), + 'sprint': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'submitted': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'tshirt': ('django.db.models.fields.CharField', [], {'max_length': '3'}), + 'tutorial': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'registration.wifi': { + 'Meta': {'object_name': 'Wifi'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'registration_id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'scope': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['base.Event']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}), + 'wifi': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + } + } + + complete_apps = ['registration'] diff -r 206a8a72d77c -r 704af5be5fb9 project/scipycon/registration/views.py --- a/project/scipycon/registration/views.py Fri Dec 24 15:54:25 2010 +0530 +++ b/project/scipycon/registration/views.py Fri Dec 24 16:02:21 2010 +0530 @@ -1,3 +1,4 @@ +import csv import datetime import time @@ -8,6 +9,8 @@ from django.contrib.auth.models import User from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse +from django.http import HttpResponse +from django.http import HttpResponseRedirect from django.shortcuts import render_to_response from django.template import loader from django.template import RequestContext @@ -316,18 +319,139 @@ redirect_to, msg = u'You must be a staff on this website to ' 'access this page.') - q = Registration.objects.all() - conf_num = q.filter(conference=True).count() - tut_num = q.filter(tutorial=True).count() - sprint_num = q.filter(sprint=True).count() + reg_q = Registration.objects.all() + conf_num = reg_q.filter(conference=True).count() + tut_num = reg_q.filter(tutorial=True).count() + sprint_num = reg_q.filter(sprint=True).count() + + acco_q = Accommodation.objects.all() + male = acco_q.filter(sex='Male').count() + female = acco_q.filter(sex='Female').count() + + # Day 1 details + day1 = acco_q.filter(accommodation_on_1st=True) + acco_1 = { + 'total': day1.count(), + 'male': day1.filter(sex='Male').count(), + 'female': day1.filter(sex='Female').count() + } + + # Day 2 details + day2 = acco_q.filter(accommodation_on_2nd=True) + acco_2 = { + 'total': day2.count(), + 'male': day2.filter(sex='Male').count(), + 'female': day2.filter(sex='Female').count() + } + + # Day 3 details + day3 = acco_q.filter(accommodation_on_3rd=True) + acco_3 = { + 'total': day3.count(), + 'male': day3.filter(sex='Male').count(), + 'female': day3.filter(sex='Female').count() + } + + # Day 4 details + day4 = acco_q.filter(accommodation_on_4th=True) + acco_4 = { + 'total': day4.count(), + 'male': day4.filter(sex='Male').count(), + 'female': day4.filter(sex='Female').count() + } + + + # Day 5 details + day5 = acco_q.filter(accommodation_on_5th=True) + acco_5 = { + 'total': day5.count(), + 'male': day5.filter(sex='Male').count(), + 'female': day5.filter(sex='Female').count() + } + + # Day 6 details + day6 = acco_q.filter(accommodation_on_6th=True) + acco_6 = { + 'total': day6.count(), + 'male': day6.filter(sex='Male').count(), + 'female': day6.filter(sex='Female').count() + } return render_to_response(template_name, RequestContext(request, {'params': {'scope': scope}, 'conf_num': conf_num, 'tut_num': tut_num, 'sprint_num': sprint_num, + 'male': male, + 'female':female, + 'acco_days': [acco_1, acco_2, acco_3, acco_4, acco_5, acco_6], })) +@login_required +def regstats_download(request, scope): + """Sends a downloadable PDF for registration statistics + """ + + if not request.user.is_staff: + redirect_to = reverse('scipycon_login') + return HttpResponseRedirect(redirect_to) + + filename = 'regstats%s.csv' % datetime.datetime.strftime( + datetime.datetime.now(), '%Y%m%d%H%M%S') + + response = HttpResponse(mimetype='text/csv') + response['Content-Disposition'] = 'attachment; filename=%s' % ( + filename) + + output = csv.writer(response) + + output.writerow(['Name', 'Gender', 'City', + 'Registration Fees Paid', + 'Attending Conference', + 'Attending Tutorial', + 'Attending Sprint', + 'Laptop Identification Number', + 'Accommodation Fees Paid', + 'Accommodation on 12th night', + 'Accommodation on 13th night', + 'Accommodation on 14th night', + 'Accommodation on 15th night', + 'Accommodation on 16th night', + 'Accommodation on 17th night']) + + regs = Registration.objects.order_by( + 'registrant__first_name', 'registrant__last_name') + for reg in regs: + row = [] + + payment, create = reg.registrant.payment_set.get_or_create( + user=reg.registrant, scope=reg.scope) + acco, created = reg.registrant.accommodation_set.get_or_create( + user=reg.registrant, scope=reg.scope) + wifi, create = reg.registrant.wifi_set.get_or_create( + user=reg.registrant, scope=reg.scope) + + row.append('"%s"' % reg.registrant.get_full_name()) + row.append(acco.sex) + row.append(reg.city) + row.append('Yes' if payment.confirmed else 'No') + row.append('Yes' if reg.conference else 'No') + row.append('Yes' if reg.tutorial else 'No') + row.append('Yes' if reg.sprint else 'No') + row.append(wifi.registration_id) + row.append('Yes' if payment.acco_confirmed + else 'No') + row.append('Yes' if acco.accommodation_on_1st else 'No') + row.append('Yes' if acco.accommodation_on_2nd else 'No') + row.append('Yes' if acco.accommodation_on_3rd else 'No') + row.append('Yes' if acco.accommodation_on_4th else 'No') + row.append('Yes' if acco.accommodation_on_5th else 'No') + row.append('Yes' if acco.accommodation_on_6th else 'No') + output.writerow(row) + + #output.writerow() + return response + @login_required def manage_payments(request, scope, diff -r 206a8a72d77c -r 704af5be5fb9 project/scipycon/user/views.py --- a/project/scipycon/user/views.py Fri Dec 24 15:54:25 2010 +0530 +++ b/project/scipycon/user/views.py Fri Dec 24 16:02:21 2010 +0530 @@ -329,6 +329,9 @@ @login_required def badge(request,scope): + + from django.conf import settings + # Create the HttpResponse object with the appropriate PDF headers. response = HttpResponse(mimetype='application/pdf') response['Content-Disposition'] = 'attachment; filename=scipybadge.pdf' @@ -341,7 +344,8 @@ # See the ReportLab documentation for the full list of functionality. c.rect(ref,ref,9*cm,6*cm) - im = reportlabImage("project/static/img/scipyshiny_small.png", width=1.75*cm, height=1.75*cm) + img_path = os.path.join(settings.STATIC_ROOT, 'img', 'scipyshiny_small.png') + im = reportlabImage(img_path, width=1.75*cm, height=1.75*cm) im.drawOn(c,(ref+0.8*cm),(ref+4.3*cm)) c.setFont('Helvetica', 6) c.drawString((ref+1.0*cm),(ref+4.2*cm),'scipy.in 2010') diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-bg_flat_0_aaaaaa_40x100.png Binary file project/static/css/jquery-ui-lightness/images/ui-bg_flat_0_aaaaaa_40x100.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-bg_flat_75_ffffff_40x100.png Binary file project/static/css/jquery-ui-lightness/images/ui-bg_flat_75_ffffff_40x100.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-bg_glass_55_fbf9ee_1x400.png Binary file project/static/css/jquery-ui-lightness/images/ui-bg_glass_55_fbf9ee_1x400.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png Binary file project/static/css/jquery-ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-bg_glass_75_dadada_1x400.png Binary file project/static/css/jquery-ui-lightness/images/ui-bg_glass_75_dadada_1x400.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-bg_glass_75_e6e6e6_1x400.png Binary file project/static/css/jquery-ui-lightness/images/ui-bg_glass_75_e6e6e6_1x400.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-bg_glass_95_fef1ec_1x400.png Binary file project/static/css/jquery-ui-lightness/images/ui-bg_glass_95_fef1ec_1x400.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-bg_highlight-soft_75_cccccc_1x100.png Binary file project/static/css/jquery-ui-lightness/images/ui-bg_highlight-soft_75_cccccc_1x100.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-icons_222222_256x240.png Binary file project/static/css/jquery-ui-lightness/images/ui-icons_222222_256x240.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-icons_2e83ff_256x240.png Binary file project/static/css/jquery-ui-lightness/images/ui-icons_2e83ff_256x240.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-icons_454545_256x240.png Binary file project/static/css/jquery-ui-lightness/images/ui-icons_454545_256x240.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-icons_888888_256x240.png Binary file project/static/css/jquery-ui-lightness/images/ui-icons_888888_256x240.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/css/jquery-ui-lightness/images/ui-icons_cd0a0a_256x240.png Binary file project/static/css/jquery-ui-lightness/images/ui-icons_cd0a0a_256x240.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/img/jubilee_html_19fded16.png Binary file project/static/img/jubilee_html_19fded16.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/img/mgbs_html_19fded16.png Binary file project/static/img/mgbs_html_19fded16.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/img/nampally_html_19fded16.png Binary file project/static/img/nampally_html_19fded16.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/static/img/secunderabad_html_19fded16.png Binary file project/static/img/secunderabad_html_19fded16.png has changed diff -r 206a8a72d77c -r 704af5be5fb9 project/templates/_menu.html --- a/project/templates/_menu.html Fri Dec 24 15:54:25 2010 +0530 +++ b/project/templates/_menu.html Fri Dec 24 16:02:21 2010 +0530 @@ -69,28 +69,19 @@
  • About
  • Publicity
  • diff -r 206a8a72d77c -r 704af5be5fb9 project/templates/_right_menu.html --- a/project/templates/_right_menu.html Fri Dec 24 15:54:25 2010 +0530 +++ b/project/templates/_right_menu.html Fri Dec 24 16:02:21 2010 +0530 @@ -1,22 +1,48 @@

    Organizers

    -

    Local Organizers

    +

    Main Sponsor

    +

    +

    Additional Sponsors

    +

    -
    +

    Accommodation Sponsors

    +

    +

    Venue Sponsors

    +

    + \ No newline at end of file diff -r 206a8a72d77c -r 704af5be5fb9 project/templates/about/accommodation.html --- a/project/templates/about/accommodation.html Fri Dec 24 15:54:25 2010 +0530 +++ b/project/templates/about/accommodation.html Fri Dec 24 16:02:21 2010 +0530 @@ -1,14 +1,15 @@ {% extends "base.html" %} {% block content %}

    Accommodation for delegates

    -

    40 rooms have been reserved for the male students -and faculty on a triple sharing basis. In total we can accommodate 120 -male participants. We also have reserved 10 rooms to female -participants on twin sharing basis. Thus we can provide accommodation -for 20 female participants. People who pay the accommodation fee -through our fee payment process will be alloted accommodation on -first-come-first-serve basis. For further details visit: - +

    Forty rooms have been reserved for male students +and faculty on a triple sharing basis in the hostels at IIIT. In total, +we can accommodate 120 male participants. We also have reserved 10 +rooms for female participants on twin sharing basis. Thus, we can +provide accommodation for 20 female participants. People who pay the +accommodation fee through our fee payment process will be allotted +accommodation on first-come-first-serve basis. Accommodation cannot +be assured if the fee is not paid by December 10th, 2010. For further +details visit: http://scipy.in/scipyin/2010/about/fees/

    diff -r 206a8a72d77c -r 704af5be5fb9 project/templates/about/food.html --- a/project/templates/about/food.html Fri Dec 24 15:54:25 2010 +0530 +++ b/project/templates/about/food.html Fri Dec 24 16:02:21 2010 +0530 @@ -1,4 +1,121 @@ {% extends "base.html" %} {% block content %} -

    We will update this page once we have more information on it.

    +

    Lunch will be provided on all days. Tea/coffee and biscuits will be provided +twice a day on all days. Participants will have to make their own arrangements +for breakfast and dinner. They can inform the organizers at the registration +desk on Day 1 of the conference if opting to eat any meals at the IIITH +messes/canteens. Informing us in prior will ensure availability of food +at these places. IIITH offers highly subsidized meals at the rate of Rs.20 for +breakfast and Rs.30 for dinner. + +In addition, please find below a list of some eateries in the vicinity of +IIITH.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameType of foodDistance from IIIT-HAddressPrice
    Vennela MessSouth Indian1KMIndra Nagar, Gachibowli, HyderabadFull meal is Rs. 55
    Nellore MessSouth Indian1 KMOpposite DLF Building, Gachibowli, HyderabadRate for full meal is Rs. 40
    Hot RotiesNorth Indian1KMIndra Nagar, Gachibowli, HyderabadRate for full meal is Rs. 40
    Subway0.5 KMIndra Nagar, Gachibowli, Hyderabad
    Domino's Pizza1KMIndra Nagar, Gachibowli, Hyderabad
    Pizza Corner1KMIndra Nagar, Gachibowli, Hyderabad
    The WontonChinese1KMIndra Nagar, Gachibowli, Hyderabad
    Punjabi Rasoi2KMCross Road, Gachibowli, Hyderabad, ph: 040- 65523257
    Swagath De Royal4KMKondapur, Kothaguda X Road's,Hyderabad
    Slizzing Grills4KM2nd Floor, Sri Tirumala Subash Arcade, Kothaguda X Roads, Kondapur, Hyderabad
    F9 Diner4KM4th Floor Pavan Priyanka Plaza, Opp Harsha Toyota & Above Kun Hyundai, Kondapur, Hyderabad
    Dine vally4KMOpp Police Commissionerate Office, Gachibowli, Hyderabad
    Quality INN4KMLumbini Enclave, Opposite Engineering Staff College, Gachibowli, Hyderabad
    Haveli4KM148 Beside Kothaguda Post Office, Commercial Complex, Main Road, Kondapur, Hyderabad
    {% endblock content %} \ No newline at end of file diff -r 206a8a72d77c -r 704af5be5fb9 project/templates/about/important_dates.html --- a/project/templates/about/important_dates.html Fri Dec 24 15:54:25 2010 +0530 +++ b/project/templates/about/important_dates.html Fri Dec 24 16:02:21 2010 +0530 @@ -5,7 +5,7 @@