# HG changeset patch # User Madhusudan.C.S # Date 1279044634 -19800 # Node ID 178b89a3ca4f8426b4ede7da467fd67c41a3d660 # Parent f94e0cd9a8625d5a015a8fa0e8c8820292cf6ff7 Removed unwanted files and made more changes to make SciPyCon a clean app. diff -r f94e0cd9a862 -r 178b89a3ca4f .hgignore --- a/.hgignore Tue Jul 13 19:57:37 2010 +0530 +++ b/.hgignore Tue Jul 13 23:40:34 2010 +0530 @@ -34,9 +34,9 @@ .project project/local.py project/project.egg-info -project.db +scipycon.db project/media/user/* project/static/media -project/kiwipycon/user/*.pyc +project/scipycon/user/*.pyc apache/* diff -r f94e0cd9a862 -r 178b89a3ca4f buildout.cfg --- a/buildout.cfg Tue Jul 13 19:57:37 2010 +0530 +++ b/buildout.cfg Tue Jul 13 23:40:34 2010 +0530 @@ -1,74 +1,18 @@ [buildout] -extensions = jarn.setuptoolsfixer - -find-links = - http://effbot.org/downloads - http://dist.repoze.org/ - -parts = - django - basic-apps - tagging - django-command-extensions - south - registration - reportlab - -eggs = - PIL - HTML5lib - pisa +parts = django tagging +eggs = Werkzeug - elementtree - docutils - markdown - textile - beautifulsoup MySQL-python -[versions] -reportlab=2.3 - -[reportlab] -recipe=zc.recipe.egg -eggs= - reportlab -find-links= - http://distfiles.minitage.org/public/externals/minitage/ - [django] recipe = djangorecipe -version = 1.1 -settings = production +version = 1.2.1 +settings = development eggs = ${buildout:eggs} - ${reportlab:eggs} pythonpath = - ${basic-apps:location} ${tagging:location} - ${django-command-extensions:location} - ${south:location} - ${registration:location} - -[basic-apps] -recipe = zerokspot.recipe.git -repository = http://github.com/nathanborror/django-basic-apps.git [tagging] recipe = infrae.subversion -urls = - http://django-tagging.googlecode.com/svn/trunk/ . - -[django-command-extensions] -recipe = zerokspot.recipe.git -repository = http://github.com/django-extensions/django-extensions.git - -[south] -recipe = infrae.subversion -urls = - http://svn.aeracode.org/svn/south/tags/0.5/ . - -[registration] -recipe = mercurialrecipe -repository = http://bitbucket.org/ubernostrum/django-registration/ - +urls = http://django-tagging.googlecode.com/svn/trunk/ . \ No newline at end of file diff -r f94e0cd9a862 -r 178b89a3ca4f project/development.py --- a/project/development.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/development.py Tue Jul 13 23:40:34 2010 +0530 @@ -15,22 +15,16 @@ 'django.contrib.sites', 'django.contrib.flatpages', 'django.contrib.markup', - 'project.kiwipycon', - 'project.kiwipycon.user', - 'project.kiwipycon.talk', - 'project.kiwipycon.registration', - 'project.kiwipycon.sponsor', - 'project.kiwipycon.proceedings', + 'project.scipycon', + 'project.scipycon.user', + 'project.scipycon.talk', + 'project.scipycon.registration', + 'project.scipycon.proceedings', 'tagging', - 'basic.blog', - 'basic.inlines', - 'basic.media', - 'django_extensions', - 'south', ) DATABASE_ENGINE = 'sqlite3' -DATABASE_NAME = '/home/madhu/conference2009.db' +DATABASE_NAME = '../scipycon.db' DATABASE_USER = '' DATABASE_PASSWORD = '' diff -r f94e0cd9a862 -r 178b89a3ca4f project/production.py --- a/project/production.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/production.py Tue Jul 13 23:40:34 2010 +0530 @@ -15,21 +15,16 @@ 'django.contrib.sites', 'django.contrib.flatpages', 'django.contrib.markup', - 'project.kiwipycon', - 'project.kiwipycon.user', - 'project.kiwipycon.talk', - 'project.kiwipycon.registration', - 'project.kiwipycon.sponsor', + 'project.scipycon', + 'project.scipycon.user', + 'project.scipycon.talk', + 'project.scipycon.registration', + 'project.scipycon.proceedings', 'tagging', - 'basic.blog', - 'basic.inlines', - 'basic.media', - 'django_extensions', - 'south', ) DATABASE_ENGINE = 'mysql' -DATABASE_NAME = 'conference2009' -DATABASE_USER = 'root' +DATABASE_NAME = 'scipycon' +DATABASE_USER = 'scipy' # Imports DATABASE_PASSWORD from project/local.py that is not part of mercurial repo from project.local import DATABASE_PASSWORD diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/proceedings/admin.py --- a/project/scipycon/proceedings/admin.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/proceedings/admin.py Tue Jul 13 23:40:34 2010 +0530 @@ -3,7 +3,7 @@ from django.contrib import admin -from project.kiwipycon.proceedings.models import Paper +from project.scipycon.proceedings.models import Paper class PaperAdmin(admin.ModelAdmin): diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/proceedings/booklet/mk_scipy_paper.py --- a/project/scipycon/proceedings/booklet/mk_scipy_paper.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/proceedings/booklet/mk_scipy_paper.py Tue Jul 13 23:40:34 2010 +0530 @@ -11,7 +11,7 @@ conf_name = 'SciPy2009' -current_dir = '/media/python/workspace/kiwipycon/project/kiwipycon/proceedings/booklet' +current_dir = '/media/python/workspace/scipycon/project/scipycon/proceedings/booklet' outdir = current_dir + os.sep + 'output' diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/proceedings/migrations/0001_initial.py --- a/project/scipycon/proceedings/migrations/0001_initial.py Tue Jul 13 19:57:37 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -# -*- coding: utf-8 -*- - -from south.db import db -from django.db import models -from project.kiwipycon.proceedings.models import * - -class Migration: - - def forwards(self, orm): - - # Adding model 'Paper' - db.create_table('proceedings_paper', ( - ('body', models.TextField()), - ('abstract', models.TextField()), - ('id', models.AutoField(primary_key=True)), - ('title', models.CharField(max_length=200)), - )) - db.send_create_signal('proceedings', ['Paper']) - - # Adding model 'Attachments' - db.create_table('proceedings_attachments', ( - ('paper', models.ForeignKey(orm.Paper)), - ('id', models.AutoField(primary_key=True)), - ('attachments', models.FileField(upload_to='attachments/%Y/%m/%d')), - )) - db.send_create_signal('proceedings', ['Attachments']) - - # Adding ManyToManyField 'Paper.authors' - db.create_table('proceedings_paper_authors', ( - ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True)), - ('paper', models.ForeignKey(Paper, null=False)), - ('user', models.ForeignKey(User, null=False)) - )) - - - - def backwards(self, orm): - - # Deleting model 'Paper' - db.delete_table('proceedings_paper') - - # Deleting model 'Attachments' - db.delete_table('proceedings_attachments') - - # Dropping ManyToManyField 'Paper.authors' - db.delete_table('proceedings_paper_authors') - - - - models = { - 'proceedings.paper': { - 'abstract': ('models.TextField', [], {}), - 'authors': ('models.ManyToManyField', ['User'], {}), - 'body': ('models.TextField', [], {}), - 'id': ('models.AutoField', [], {'primary_key': 'True'}), - 'title': ('models.CharField', [], {'max_length': '200'}) - }, - 'auth.user': { - '_stub': True, - 'id': ('models.AutoField', [], {'primary_key': 'True'}) - }, - 'proceedings.attachments': { - 'attachments': ('models.FileField', [], {'upload_to': "'attachments/%Y/%m/%d'"}), - 'id': ('models.AutoField', [], {'primary_key': 'True'}), - 'paper': ('models.ForeignKey', ['Paper'], {}) - } - } - - complete_apps = ['proceedings'] diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/proceedings/migrations/__init__.py diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/proceedings/views.py --- a/project/scipycon/proceedings/views.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/proceedings/views.py Tue Jul 13 23:40:34 2010 +0530 @@ -10,12 +10,12 @@ from django.shortcuts import render_to_response from django.template import RequestContext -from project.kiwipycon.proceedings.models import Paper -from project.kiwipycon.user.forms import RegisterForm -from project.kiwipycon.user.models import UserProfile -from project.kiwipycon.utils import set_message_cookie -from project.kiwipycon.proceedings.booklet import mk_scipy_paper -from project.kiwipycon.proceedings.forms import ProceedingsForm +from project.scipycon.proceedings.models import Paper +from project.scipycon.user.forms import RegisterForm +from project.scipycon.user.models import UserProfile +from project.scipycon.utils import set_message_cookie +from project.scipycon.proceedings.booklet import mk_scipy_paper +from project.scipycon.proceedings.forms import ProceedingsForm def handleUploadedFile(proceedings_form_data, rst_file): @@ -60,7 +60,7 @@ login(request, login_form.get_user()) - redirect_to = reverse('kiwipycon_submit_proceedings') + redirect_to = reverse('scipycon_submit_proceedings') return set_message_cookie(redirect_to, msg = u'You have been logged in.') @@ -68,7 +68,7 @@ # add the new user if register_form.is_valid(): - user = kiwipycon_createuser(request, register_form.data) + user = scipycon_createuser(request, register_form.data) proceedings_form = ProceedingsForm(data=request.POST, files=request.FILES) @@ -86,14 +86,14 @@ authors=authors) # Successfully saved. So get back to the edit page. - redirect_to = reverse('kiwipycon_submit_proceedings', + redirect_to = reverse('scipycon_submit_proceedings', args=[paper.id]) return set_message_cookie( redirect_to, msg = u'Thanks, your paper has been submitted.') else: # This is impossible. Something was wrong so return back # to submit page - redirect_to = reverse('kiwipycon_submit_proceedings') + redirect_to = reverse('scipycon_submit_proceedings') return set_message_cookie( redirect_to, msg = u'Something is wrong here.') else: @@ -193,8 +193,8 @@ abstract['paper_text'] = paper.body - outfilename = '/media/python/workspace/kiwipycon/project/kiwipycon/proceedings/booklet/output/paper.pdf' - attach_dir = os.path.dirname('/media/python/workspace/kiwipycon/project/kiwipycon/proceedings/booklet/output/') + outfilename = '/media/python/workspace/scipycon/project/scipycon/proceedings/booklet/output/paper.pdf' + attach_dir = os.path.dirname('/media/python/workspace/scipycon/project/scipycon/proceedings/booklet/output/') mk_scipy_paper.mk_abstract_preview(abstract, outfilename, attach_dir) from django.http import HttpResponse diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/registration/admin.py --- a/project/scipycon/registration/admin.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/registration/admin.py Tue Jul 13 23:40:34 2010 +0530 @@ -4,7 +4,7 @@ #django.contrib from django.contrib import admin -#kiwipycon +#scipycon from .models import Registration from .models import Wifi diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/registration/forms.py --- a/project/scipycon/registration/forms.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/registration/forms.py Tue Jul 13 23:40:34 2010 +0530 @@ -11,21 +11,13 @@ from .models import SIZE_CHOICES from .models import Registration from .models import Wifi -from project.kiwipycon.sponsor.models import Sponsor + class RegistrationSubmitForm(forms.Form): """PyCon registration form """ tshirt = forms.ChoiceField(choices=SIZE_CHOICES, required=True, label=u'T-shirt size', help_text=u'Yes, we all get a t-shirt!') -# beverage = forms.CharField(required=True, label=u'Beverage', -# help_text=u'Your beverage of choice - coffee, tea etc', -# max_length=255, -# widget=forms.TextInput(attrs={'size':'50'})) -# diet = forms.CharField(required=False, label=u'Dietary', -# help_text=u'Special dietary requirements - vegetarian etc', -# max_length=255, -# widget=forms.TextInput(attrs={'size':'50'})) organisation = forms.CharField(required=True, label=u'Organisation', help_text=u'The primary organisation that you are a member of.', max_length=255, @@ -52,15 +44,6 @@ help_text=u'Do you intend to attend the tutorials?') sprint = forms.BooleanField(required=False, label=u'Sprint', help_text=u'Do you intend to attend the sprints?') -# party = forms.BooleanField(required=False, label=u'Pre-con party', -# help_text=u'Do you intend to attend the pre-conference party on Friday?') -# discount = forms.BooleanField(required=False, label=u'Student/Unwaged?', -# help_text=u'You will be required to present your Community Services '\ -# 'Card or Student ID on arrival.') -# sponsor = forms.CharField(required=False, label=u'Sponsor code', -# help_text=u'If attending as a sponsor please enter your sponsor code.', -# max_length=50, -# widget=forms.TextInput(attrs={'size':'20'})) def demographic_fields(self): return (self['organisation'], @@ -75,34 +58,6 @@ self['sprint'], self['allow_contact']) -# def other_fields(self): -# return (self['sponsor'],) -# -# def clean_sponsor(self): -# """Validates that the entered sponsor code is valid and within limits -# of allowed guests -# """ -# sponsorcode = self.cleaned_data.get("sponsor") -# if sponsorcode: -# try: -# sponsor = Sponsor.objects.get(slug=sponsorcode) -# except ObjectDoesNotExist: -# raise forms.ValidationError( -# u"The sponsor code you entered is not valid.") -# if sponsor: -# guests = sponsor.guests -# if guests == 0: -# raise forms.ValidationError( -# u"The sponsor code you entered is not valid.") -# count = Registration.objects.filter( -# sponsor=sponsorcode).count() -# if count >= guests: -# raise forms.ValidationError( -# u"That sponsor has reached limit of guests.") -# -# -# return sponsorcode - class RegistrationEditForm(RegistrationSubmitForm): id = forms.CharField(widget=forms.HiddenInput) diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/registration/migrations/0001_initial.py --- a/project/scipycon/registration/migrations/0001_initial.py Tue Jul 13 19:57:37 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -# -*- coding: utf-8 -*- - -from south.db import db -from django.db import models -from project.kiwipycon.registration.models import * - -class Migration: - - def forwards(self, orm): - - # Adding model 'Registration' - db.create_table('registration_registration', ( - ('slug', models.SlugField()), - ('registrant', models.ForeignKey(orm['auth.User'])), - ('organisation', models.CharField(max_length=255, blank=True)), - ('occupation', models.CharField(max_length=255, blank=True)), - ('city', models.CharField(max_length=255, blank=True)), - ('postcode', models.CharField(max_length=255, blank=True)), - ('tshirt', models.CharField(max_length=2)), - ('conference', models.BooleanField(default=False)), - ('tutorial', models.BooleanField(default=False)), - ('sprint', models.BooleanField(default=False)), - ('submitted', models.DateTimeField(auto_now_add=True)), - ('allow_contact', models.BooleanField(default=False)), - ('last_mod', models.DateTimeField(auto_now=True)), - ('id', models.AutoField(primary_key=True)), - )) - db.send_create_signal('registration', ['Registration']) - - - - def backwards(self, orm): - - # Deleting model 'Registration' - db.delete_table('registration_registration') - - - - models = { - 'auth.user': { - '_stub': True, - 'id': ('models.AutoField', [], {'primary_key': 'True'}) - }, - 'registration.registration': { - 'allow_contact': ('models.BooleanField', [], {'default': 'False'}), - 'city': ('models.CharField', [], {'max_length': '255', 'blank': 'True'}), - 'id': ('models.AutoField', [], {'primary_key': 'True'}), - 'last_mod': ('models.DateTimeField', [], {'auto_now': 'True'}), - 'occupation': ('models.CharField', [], {'max_length': '255', 'blank': 'True'}), - 'organisation': ('models.CharField', [], {'max_length': '255', 'blank': 'True'}), - 'conference': ('models.BooleanField', [], {'default': 'False'}), - 'tutorial': ('models.BooleanField', [], {'default': 'False'}), - 'sprint': ('models.BooleanField', [], {'default': 'False'}), - 'postcode': ('models.CharField', [], {'max_length': '255', 'blank': 'True'}), - 'registrant': ('models.ForeignKey', ['User'], {}), - 'slug': ('models.SlugField', [], {}), - 'submitted': ('models.DateTimeField', [], {'auto_now_add': 'True'}), - 'tshirt': ('models.CharField', [], {'max_length': '2'}) - } - } - - complete_apps = ['registration'] diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/registration/migrations/0002_create_wifi.py --- a/project/scipycon/registration/migrations/0002_create_wifi.py Tue Jul 13 19:57:37 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- - -from south.db import db -from django.db import models -from project.kiwipycon.registration.models import * - -class Migration: - - def forwards(self, orm): - - # Adding model 'Wifi' - db.create_table('registration_wifi', ( - ('wifi', models.CharField(max_length=50)), - ('user', models.ForeignKey(orm['auth.User'])), - ('id', models.AutoField(primary_key=True)), - )) - db.send_create_signal('registration', ['Wifi']) - - - - def backwards(self, orm): - - # Deleting model 'Wifi' - db.delete_table('registration_wifi') - - - - models = { - 'auth.user': { - '_stub': True, - 'id': ('models.AutoField', [], {'primary_key': 'True'}) - }, - 'registration.wifi': { - 'id': ('models.AutoField', [], {'primary_key': 'True'}), - 'user': ('models.ForeignKey', ['User'], {}), - 'wifi': ('models.CharField', [], {'max_length': '50'}) - }, - 'registration.registration': { - 'allow_contact': ('models.BooleanField', [], {'default': 'False'}), - 'city': ('models.CharField', [], {'max_length': '255', 'blank': 'True'}), - 'id': ('models.AutoField', [], {'primary_key': 'True'}), - 'last_mod': ('models.DateTimeField', [], {'auto_now': 'True'}), - 'occupation': ('models.CharField', [], {'max_length': '255', 'blank': 'True'}), - 'organisation': ('models.CharField', [], {'max_length': '255', 'blank': 'True'}), - 'conference': ('models.BooleanField', [], {'default': 'False'}), - 'tutorial': ('models.BooleanField', [], {'default': 'False'}), - 'sprint': ('models.BooleanField', [], {'default': 'False'}), - 'postcode': ('models.CharField', [], {'max_length': '255', 'blank': 'True'}), - 'registrant': ('models.ForeignKey', ['User'], {}), - 'slug': ('models.SlugField', [], {}), - 'submitted': ('models.DateTimeField', [], {'auto_now_add': 'True'}), - 'tshirt': ('models.CharField', [], {'max_length': '2'}) - } - } - - complete_apps = ['registration'] diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/registration/migrations/__init__.py diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/registration/pdf.py --- a/project/scipycon/registration/pdf.py Tue Jul 13 19:57:37 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -import os - -from django.conf import settings -from django.template.loader import render_to_string - -def save_invoice(user, registration, template_name): - content = render_to_string(template_name, - {'registration' : registration, 'user': user}) - filename = '%s.html' % registration.slug - filepath = os.path.join(settings.USER_MEDIA_PDF, filename) - save_to_file(content, filepath) - -def save_to_pdf(content, filepath): - import pisa - pisa.CreatePDF(str(content), file(filepath, 'wb')) - -def save_to_file(content, filepath): - fout = file(filepath, 'wb') - fout.write(content) - fout.close() diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/registration/views.py --- a/project/scipycon/registration/views.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/registration/views.py Tue Jul 13 23:40:34 2010 +0530 @@ -18,14 +18,12 @@ from django.contrib.auth.models import User from django.core.exceptions import ObjectDoesNotExist -#kiwipycon -from project.kiwipycon.utils import set_message_cookie -from project.kiwipycon.utils import slugify -from project.kiwipycon.user.models import UserProfile -from project.kiwipycon.user.utils import kiwipycon_createregistrant -from project.kiwipycon.user.forms import RegistrantForm -from project.kiwipycon.sponsor.models import Sponsor -from project.kiwipycon.talk.models import Talk +from project.scipycon.utils import set_message_cookie +from project.scipycon.utils import slugify +from project.scipycon.user.models import UserProfile +from project.scipycon.user.utils import scipycon_createregistrant +from project.scipycon.user.forms import RegistrantForm +from project.scipycon.talk.models import Talk from .models import Registration from .models import Wifi @@ -45,7 +43,7 @@ """ """ if not request.user.is_staff: - redirect_to = reverse('kiwipycon_login') + redirect_to = reverse('scipycon_login') if request.method == "POST": form = RegistrationAdminSelectForm(request.POST) if form.is_valid(): @@ -118,7 +116,7 @@ user = request.user registration = get_object_or_404(Registration, registrant=user) if registration.sponsor: - redirect_to = reverse('kiwipycon_account') + redirect_to = reverse('scipycon_account') return set_message_cookie(redirect_to, msg = u'You are a sponsored guest, no payment required.') return render_to_response(template_name, RequestContext(request, @@ -129,7 +127,7 @@ user = request.user registration = get_object_or_404(Registration, registrant=user) if registration.sponsor: - redirect_to = reverse('kiwipycon_account') + redirect_to = reverse('scipycon_account') return set_message_cookie(redirect_to, msg = u'You are a sponsored guest, no payment required.') content = render_to_string(template_name, @@ -161,7 +159,7 @@ reg = Registration.objects.get(pk=id) if reg.registrant != request.user: - redirect_to = reverse('kiwipycon_account') + redirect_to = reverse('scipycon_account') return set_message_cookie(redirect_to, msg = u'Redirected because the registration you selected' \ + ' is not your own.') @@ -179,7 +177,7 @@ reg.sprint = form.data.get('sprint') and True or False reg.save() # Saved.. redirect - redirect_to = reverse('kiwipycon_account') + redirect_to = reverse('scipycon_account') return set_message_cookie(redirect_to, msg = u'Your changes have been saved.') else: @@ -214,7 +212,7 @@ try: registration = Registration.objects.get(registrant=user) if registration: - redirect_to = reverse('kiwipycon_account') + redirect_to = reverse('scipycon_account') return set_message_cookie(redirect_to, msg = u'You have already been registered.') @@ -235,7 +233,7 @@ from django.contrib.auth import login login(request, login_form.get_user()) - redirect_to = reverse('kiwipycon_submit_registration') + redirect_to = reverse('scipycon_submit_registration') return set_message_cookie(redirect_to, msg = u'You have been logged in please continue' + \ 'with registration.') @@ -244,7 +242,7 @@ passwd = None if not user.is_authenticated(): if registrant_form.is_valid(): - newuser = kiwipycon_createregistrant(request, registrant_form.data) + newuser = scipycon_createregistrant(request, registrant_form.data) # Log in user passwd = User.objects.make_random_password() newuser.set_password(passwd) @@ -313,7 +311,7 @@ # 2. send user email with registration id send_confirmation(registrant, slug) - redirect_to = reverse('kiwipycon_registrations') + redirect_to = reverse('scipycon_registrations') return set_message_cookie(redirect_to, msg = u'Thank you, your registration has been submitted '\ 'and an email has been sent with payment details.') diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/sponsor/__init__.py diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/sponsor/admin.py --- a/project/scipycon/sponsor/admin.py Tue Jul 13 19:57:37 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -#django -from django.contrib import admin - -#kiwipycon -from .models import Sponsor - -class SponsorAdmin(admin.ModelAdmin): - list_display = ('title', 'type', 'contact_name', 'contact_email', 'contact_phone', - 'guests', 'url', 'logo') - -admin.site.register(Sponsor, SponsorAdmin) - diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/sponsor/migrations/0001_initial.py --- a/project/scipycon/sponsor/migrations/0001_initial.py Tue Jul 13 19:57:37 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- - -from south.db import db -from django.db import models -from project.kiwipycon.sponsor.models import * - -class Migration: - - def forwards(self, orm): - - # Adding model 'Sponsor' - db.create_table('sponsor_sponsor', ( - ('id', models.AutoField(primary_key=True)), - ('slug', models.SlugField()), - ('title', models.CharField(max_length=255)), - ('type', models.CharField(max_length=10)), - ('url', models.URLField(verify_exists=False, blank=True)), - ('contact_name', models.CharField(max_length=255)), - ('contact_phone', models.CharField(max_length=255)), - ('contact_email', models.CharField(max_length=255)), - ('logo', models.CharField(max_length=64, blank=True)), - ('guests', models.IntegerField()), - )) - db.send_create_signal('sponsor', ['Sponsor']) - - - - def backwards(self, orm): - - # Deleting model 'Sponsor' - db.delete_table('sponsor_sponsor') - - - - models = { - 'sponsor.sponsor': { - 'contact_email': ('models.CharField', [], {'max_length': '255'}), - 'contact_name': ('models.CharField', [], {'max_length': '255'}), - 'contact_phone': ('models.CharField', [], {'max_length': '255'}), - 'guests': ('models.IntegerField', [], {}), - 'id': ('models.AutoField', [], {'primary_key': 'True'}), - 'logo': ('models.CharField', [], {'max_length': '64', 'blank': 'True'}), - 'slug': ('models.SlugField', [], {}), - 'title': ('models.CharField', [], {'max_length': '255'}), - 'type': ('models.CharField', [], {'max_length': '10'}), - 'url': ('models.URLField', [], {'verify_exists': 'False', 'blank': 'True'}) - } - } - - complete_apps = ['sponsor'] diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/sponsor/migrations/__init__.py diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/sponsor/models.py --- a/project/scipycon/sponsor/models.py Tue Jul 13 19:57:37 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -#django -from django.db import models -from django.conf import settings - -TYPE_CHOICES = ( - ('gold', 'Gold'), - ('silver', 'Silver'), - ('schwag', 'Schwag'), - ) - -class Sponsor(models.Model): - """Defines sponsors for *PyCon""" - slug = models.SlugField() - title = models.CharField(max_length=255) - type = models.CharField(max_length=10, choices=TYPE_CHOICES) - contact_name = models.CharField(max_length=255) - contact_email = models.CharField(max_length=255) - contact_phone = models.CharField(max_length=255) - url = models.URLField(blank=True, verify_exists=False) - logo = models.CharField(max_length=64, blank=True) - guests = models.IntegerField() - - def __unicode__(self): - return self.title - diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/sponsor/views.py --- a/project/scipycon/sponsor/views.py Tue Jul 13 19:57:37 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import absolute_import - -# django -from django.conf import settings -from django.shortcuts import render_to_response -from django.template import RequestContext - -def schwag_sponsors(request, - template_name = 'sponsor/schwag.html'): - """Simple page to display schwag sponsors - - The list is generated in kiwipycon.context_processors - """ - return render_to_response(template_name, RequestContext(request, - {})) - diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/talk/admin.py --- a/project/scipycon/talk/admin.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/talk/admin.py Tue Jul 13 23:40:34 2010 +0530 @@ -4,7 +4,7 @@ #django.contrib from django.contrib import admin -#kiwipycon +#scipycon from .models import Talk class TalkAdmin(admin.ModelAdmin): diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/talk/forms.py --- a/project/scipycon/talk/forms.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/talk/forms.py Tue Jul 13 23:40:34 2010 +0530 @@ -10,7 +10,7 @@ #tagging from tagging.forms import TagField -#kiwipycon +#scipycon #from .models import TOPIC_CHOICES from .models import DURATION_CHOICES from .models import AUDIENCE_CHOICES diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/talk/migrations/0001_initial.py --- a/project/scipycon/talk/migrations/0001_initial.py Tue Jul 13 19:57:37 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -# -*- coding: utf-8 -*- - -from south.db import db -from django.db import models -from project.kiwipycon.talk.models import * - -class Migration: - - def forwards(self, orm): - - # Adding model 'Talk' - db.create_table('talk_talk', ( - ('id', models.AutoField(primary_key=True)), - ('slug', models.SlugField()), - ('speaker', models.ForeignKey(orm['auth.User'])), - ('authors_bio', models.TextField()), - ('contact', models.CharField(max_length=1024)), - ('title', models.CharField(max_length=1024)), - ('abstract', models.TextField()), -# ('outline', models.TextField()), - ('topic', models.CharField(blank=True, max_length=255)), -# ('topic_other', models.CharField(max_length=255, blank=True)), - ('duration', models.CharField(max_length=3)), - ('audience', models.CharField(blank=True, max_length=32)), -# ('audience_other', models.CharField(max_length=128, blank=True)), - ('approved', models.BooleanField(default=False)), - ('submitted', models.DateTimeField(auto_now_add=True)), - ('last_mod', models.DateTimeField(auto_now=True)), -# ('tags', TagField(blank=True)), - )) - db.send_create_signal('talk', ['Talk']) - - - - def backwards(self, orm): - - # Deleting model 'Talk' - db.delete_table('talk_talk') - - - - models = { - 'auth.user': { - '_stub': True, - 'id': ('models.AutoField', [], {'primary_key': 'True'}) - }, - 'talk.talk': { - 'abstract': ('models.TextField', [], {}), - 'approved': ('models.BooleanField', [], {'default': 'False'}), - 'audience': ('models.CharField', [], {'blank': 'True', 'max_length': '32'}), - 'audience_other': ('models.CharField', [], {'max_length': '128', 'blank': 'True'}), - 'authors_bio': ('models.TextField', [], {}), - 'contact': ('models.CharField', [], {'max_length': '1024'}), - 'duration': ('models.CharField', [], {'max_length': '3'}), - 'id': ('models.AutoField', [], {'primary_key': 'True'}), - 'last_mod': ('models.DateTimeField', [], {'auto_now': 'True'}), - 'outline': ('models.TextField', [], {}), - 'slug': ('models.SlugField', [], {}), - 'speaker': ('models.ForeignKey', ['User'], {}), - 'submitted': ('models.DateTimeField', [], {'auto_now_add': 'True'}), - 'tags': ('TagField', [], {'blank': 'True'}), - 'title': ('models.CharField', [], {'max_length': '1024'}), - 'topic': ('models.CharField', [], {'blank': 'True', 'max_length': '255'}), - 'topic_other': ('models.CharField', [], {'max_length': '255', 'blank': 'True'}) - } - } - - complete_apps = ['talk'] diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/talk/migrations/__init__.py diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/talk/views.py --- a/project/scipycon/talk/views.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/talk/views.py Tue Jul 13 23:40:34 2010 +0530 @@ -22,12 +22,12 @@ # tagging from tagging.models import Tag -#kiwipycon -from project.kiwipycon.utils import set_message_cookie -from project.kiwipycon.utils import slugify -from project.kiwipycon.user.models import UserProfile -from project.kiwipycon.user.forms import RegisterForm -from project.kiwipycon.user.utils import kiwipycon_createuser +#scipycon +from project.scipycon.utils import set_message_cookie +from project.scipycon.utils import slugify +from project.scipycon.user.models import UserProfile +from project.scipycon.user.forms import RegisterForm +from project.scipycon.user.utils import scipycon_createuser from .models import Talk from .forms import TalkSubmitForm @@ -55,12 +55,12 @@ talk = Talk.objects.get(pk=id) if talk.approved == True: - redirect_to = reverse('kiwipycon_account') + redirect_to = reverse('scipycon_account') return set_message_cookie(redirect_to, msg = u'Sorry but you cannot edit the talk once'\ + ' it has been accepted.') if talk.speaker != request.user: - redirect_to = reverse('kiwipycon_account') + redirect_to = reverse('scipycon_account') return set_message_cookie(redirect_to, msg = u'Redirected to account because the talk you selected' \ + ' is not your own.') @@ -82,7 +82,7 @@ # talk.tags = form.data.get('tags') talk.save() # Saved.. redirect - redirect_to = reverse('kiwipycon_account') + redirect_to = reverse('scipycon_account') return set_message_cookie(redirect_to, msg = u'Your changes have been saved.') else: @@ -130,7 +130,7 @@ from django.contrib.auth import login login(request, login_form.get_user()) - redirect_to = reverse('kiwipycon_submit_talk') + redirect_to = reverse('scipycon_submit_talk') return set_message_cookie(redirect_to, msg = u'You have been logged in.') @@ -138,7 +138,7 @@ # add the new user if register_form.is_valid(): - user = kiwipycon_createuser(request, register_form.data) + user = scipycon_createuser(request, register_form.data) if talk_form.is_valid(): if user.is_authenticated(): @@ -161,11 +161,11 @@ ) talk.save() # Saved, ... redirect back to account - redirect_to = reverse('kiwipycon_account') + redirect_to = reverse('scipycon_account') return set_message_cookie(redirect_to, msg = u'Thanks, your talk has been submitted.') else: - redirect_to = reverse('kiwipycon_submit_talk') + redirect_to = reverse('scipycon_submit_talk') return set_message_cookie(redirect_to, msg = u'Something is wrong here.') diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/user/admin.py --- a/project/scipycon/user/admin.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/user/admin.py Tue Jul 13 23:40:34 2010 +0530 @@ -4,7 +4,7 @@ #django from django.contrib import admin -#kiwipycon +#scipycon from .models import UserProfile class UserProfileAdmin(admin.ModelAdmin): diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/user/migrations/0001_initial.py --- a/project/scipycon/user/migrations/0001_initial.py Tue Jul 13 19:57:37 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -# -*- coding: utf-8 -*- - -from south.db import db -from django.db import models -from project.kiwipycon.user.models import * - -class Migration: - - def forwards(self, orm): - - # Adding model 'UserProfile' - db.create_table('user_userprofile', ( - ('id', models.AutoField(primary_key=True)), - ('user', models.ForeignKey(orm['auth.User'], unique=True)), - ('url', models.URLField(verify_exists=False, blank=True)), - ('photo', models.CharField(max_length=64, blank=True)), - ('about', models.TextField(blank=True)), - )) - db.send_create_signal('user', ['UserProfile']) - - - - def backwards(self, orm): - - # Deleting model 'UserProfile' - db.delete_table('user_userprofile') - - - - models = { - 'auth.user': { - '_stub': True, - 'id': ('models.AutoField', [], {'primary_key': 'True'}) - }, - 'user.userprofile': { - 'about': ('models.TextField', [], {'blank': 'True'}), - 'id': ('models.AutoField', [], {'primary_key': 'True'}), - 'photo': ('models.CharField', [], {'max_length': '64', 'blank': 'True'}), - 'url': ('models.URLField', [], {'verify_exists': 'False', 'blank': 'True'}), - 'user': ('models.ForeignKey', ['User'], {'unique': 'True'}) - } - } - - complete_apps = ['user'] diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/user/migrations/__init__.py diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/user/utils.py --- a/project/scipycon/user/utils.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/user/utils.py Tue Jul 13 23:40:34 2010 +0530 @@ -15,7 +15,7 @@ from PIL import Image -def kiwipycon_createregistrant(request, data): +def scipycon_createregistrant(request, data): """Create user""" email = data.get("email") name = data.get("name") @@ -38,7 +38,7 @@ return user -def kiwipycon_createuser(request, data): +def scipycon_createuser(request, data): """Create user""" email = data.get("email") username = data.get("username") diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/user/views.py --- a/project/scipycon/user/views.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/user/views.py Tue Jul 13 23:40:34 2010 +0530 @@ -26,15 +26,14 @@ #PIL from PIL import Image -#kiwipycon -from project.kiwipycon.utils import set_message_cookie -from project.kiwipycon.talk.models import Talk -from project.kiwipycon.registration.models import Registration -from project.kiwipycon.registration.models import Wifi -from project.kiwipycon.registration.forms import WifiForm -from project.kiwipycon.sponsor.models import Sponsor +#scipycon +from project.scipycon.utils import set_message_cookie +from project.scipycon.talk.models import Talk +from project.scipycon.registration.models import Registration +from project.scipycon.registration.models import Wifi +from project.scipycon.registration.forms import WifiForm -from .utils import kiwipycon_createuser +from .utils import scipycon_createuser from .utils import handle_uploaded_photo from .forms import RegisterForm from .forms import EditProfileForm @@ -111,7 +110,7 @@ profile.about = form.data.get("about") profile.save() - redirect_to = reverse("kiwipycon_account") + redirect_to = reverse("scipycon_account") return set_message_cookie(redirect_to, msg = u"Your profile has been changed.") @@ -135,7 +134,7 @@ """ user = request.user if user.is_authenticated(): - redirect_to = reverse("kiwipycon_account") + redirect_to = reverse("scipycon_account") return set_message_cookie(redirect_to, msg = u"Redirected to account from login form.") @@ -150,7 +149,7 @@ redirect_to = request.POST.get("next") # Light security check -- make sure redirect_to isn't garbage. if not redirect_to or '//' in redirect_to or ' ' in redirect_to: - redirect_to = reverse("kiwipycon_account") + redirect_to = reverse("scipycon_account") from django.contrib.auth import login login(request, login_form.get_user()) @@ -161,11 +160,11 @@ register_form = RegisterForm(data=request.POST) if register_form.is_valid(): - user = kiwipycon_createuser(request, register_form.data) + user = scipycon_createuser(request, register_form.data) redirect_to = request.POST.get("next") if not redirect_to or '//' in redirect_to or ' ' in redirect_to: - redirect_to = reverse("kiwipycon_account") + redirect_to = reverse("scipycon_account") return set_message_cookie( redirect_to, msg = u"You have been registered and logged in.") @@ -175,7 +174,7 @@ if next_url is None: next_url = request.META.get("HTTP_REFERER") if next_url is None: - next_url = reverse("kiwipycon_account") + next_url = reverse("scipycon_account") # Get just the path of the url. See django.contrib.auth.views.login for more next_url = urlparse(next_url) next_url = next_url[2] @@ -212,7 +211,7 @@ form = PasswordChangeForm(request.user, request.POST) if form.is_valid(): form.save() - redirect_to = reverse("kiwipycon_account") + redirect_to = reverse("scipycon_account") return set_message_cookie(redirect_to, msg = u"Your password has been changed.") else: @@ -231,7 +230,7 @@ if username_form.is_valid(): request.user.username = username_form.cleaned_data.get("username") request.user.save() - redirect_to = reverse("kiwipycon_account") + redirect_to = reverse("scipycon_account") return set_message_cookie(redirect_to, msg = u"Your username has been changed.") else: diff -r f94e0cd9a862 -r 178b89a3ca4f project/scipycon/utils.py --- a/project/scipycon/utils.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/scipycon/utils.py Tue Jul 13 23:40:34 2010 +0530 @@ -8,7 +8,7 @@ #django from django.http import HttpResponseRedirect -def kiwipycon_quote(string, encoding="utf-8"): +def scipycon_quote(string, encoding="utf-8"): """Encodes string to encoding before quoting. """ return urllib.quote(string.encode(encoding)) @@ -26,7 +26,7 @@ datetime.timedelta(seconds=max_age), "%a, %d-%b-%Y %H:%M:%S GMT") response = HttpResponseRedirect(url) - response.set_cookie("message", kiwipycon_quote(msg), max_age=max_age, expires=expires) + response.set_cookie("message", scipycon_quote(msg), max_age=max_age, expires=expires) return response diff -r f94e0cd9a862 -r 178b89a3ca4f project/settings.py --- a/project/settings.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/settings.py Tue Jul 13 23:40:34 2010 +0530 @@ -72,9 +72,7 @@ 'django.core.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', - 'django.core.context_processors.media', - 'project.scipycon.context_processors.sponsors') + 'django.core.context_processors.media') DEFAULT_FROM_EMAIL = 'admin@scipy.in' -ACCOUNT_ACTIVATION_DAYS = 55 diff -r f94e0cd9a862 -r 178b89a3ca4f project/setup.py --- a/project/setup.py Tue Jul 13 19:57:37 2010 +0530 +++ b/project/setup.py Tue Jul 13 23:40:34 2010 +0530 @@ -5,10 +5,5 @@ name='project', version='1.0', description="SciPy.in Conference django website", - entry_points={ - "console_scripts": [ - 'initdb = scripts.initdb:main', - ] - }, ) diff -r f94e0cd9a862 -r 178b89a3ca4f project/static/css/styles.css --- a/project/static/css/styles.css Tue Jul 13 19:57:37 2010 +0530 +++ b/project/static/css/styles.css Tue Jul 13 23:40:34 2010 +0530 @@ -98,28 +98,28 @@ width: 200px; } /* default table layout */ -table.kiwipycon-default +table.scipycon-default { border-collapse: collapse; } -table.kiwipycon-default td +table.scipycon-default td { padding: 5px 15px; } -table.kiwipycon-default th +table.scipycon-default th { font-weight: bold; padding: 4px 6px; } -table.kiwipycon-default a +table.scipycon-default a { text-decoration: none; } -table.kiwipycon-default .buttons +table.scipycon-default .buttons { padding: 10px 0; } diff -r f94e0cd9a862 -r 178b89a3ca4f project/static/doc/Kiwi PyCon Media Statement 2.doc Binary file project/static/doc/Kiwi PyCon Media Statement 2.doc has changed diff -r f94e0cd9a862 -r 178b89a3ca4f project/static/doc/Kiwi PyCon Media Statement.doc Binary file project/static/doc/Kiwi PyCon Media Statement.doc has changed diff -r f94e0cd9a862 -r 178b89a3ca4f project/static/pdf/Kiwi PyCon Media Statement 2.pdf Binary file project/static/pdf/Kiwi PyCon Media Statement 2.pdf has changed diff -r f94e0cd9a862 -r 178b89a3ca4f project/static/pdf/Kiwi PyCon Media Statement.pdf Binary file project/static/pdf/Kiwi PyCon Media Statement.pdf has changed diff -r f94e0cd9a862 -r 178b89a3ca4f project/static/pdf/Kiwi PyCon Preconference Release.pdf Binary file project/static/pdf/Kiwi PyCon Preconference Release.pdf has changed diff -r f94e0cd9a862 -r 178b89a3ca4f project/static/pdf/KiwiPyCon09_Sponsorship_Brochure_v1.0.pdf Binary file project/static/pdf/KiwiPyCon09_Sponsorship_Brochure_v1.0.pdf has changed diff -r f94e0cd9a862 -r 178b89a3ca4f project/static/pdf/KiwiPyCon09_Sponsorship_Brochure_v1.1.pdf Binary file project/static/pdf/KiwiPyCon09_Sponsorship_Brochure_v1.1.pdf has changed diff -r f94e0cd9a862 -r 178b89a3ca4f project/static/pdf/KiwiPyConCfP.pdf Binary file project/static/pdf/KiwiPyConCfP.pdf has changed diff -r f94e0cd9a862 -r 178b89a3ca4f project/templates/_menu.html --- a/project/templates/_menu.html Tue Jul 13 19:57:37 2010 +0530 +++ b/project/templates/_menu.html Tue Jul 13 23:40:34 2010 +0530 @@ -24,30 +24,8 @@
  • Blog
  • - {% if user.is_staff %}
  • HowTo
  • - {% endif %} + {% endif %} diff -r f94e0cd9a862 -r 178b89a3ca4f project/templates/_menu_user.html --- a/project/templates/_menu_user.html Tue Jul 13 19:57:37 2010 +0530 +++ b/project/templates/_menu_user.html Tue Jul 13 23:40:34 2010 +0530 @@ -6,14 +6,14 @@ {{ user.username }} {% endif %} | - My profile | + My profile | {% if user.is_superuser %} Administer | {% endif %} - Logout + Logout {% else %} - Login + Login {% endif %} diff -r f94e0cd9a862 -r 178b89a3ca4f project/templates/about/reaching.html --- a/project/templates/about/reaching.html Tue Jul 13 19:57:37 2010 +0530 +++ b/project/templates/about/reaching.html Tue Jul 13 23:40:34 2010 +0530 @@ -17,7 +17,7 @@ are at:

    - +
    diff -r f94e0cd9a862 -r 178b89a3ca4f project/templates/proceedings/submit.html --- a/project/templates/proceedings/submit.html Tue Jul 13 19:57:37 2010 +0530 +++ b/project/templates/proceedings/submit.html Tue Jul 13 23:40:34 2010 +0530 @@ -11,7 +11,7 @@ // Set autosuggest options with all plugins activated var options = { - script:"{% url kiwipycon_get_usernames %}?limit=10&", + script:"{% url scipycon_get_usernames %}?limit=10&", varname:"input", json:true, // Returned response type shownoresults:true, // If disable, display nothing if no results @@ -41,21 +41,21 @@ {% include '_errors.html' %} - + {% if not user.is_authenticated %}
    Are you a member of this site? -
    From East fortReaches Technopark at
    6:00AM6:40AM
    7:00AM7:35AM
    {{ login_form }}
    + {{ login_form }}

    -

    User Registration - {{ register_form }}
    + {{ register_form }}
    @@ -64,7 +64,7 @@
    Proceedings Paper Submission - +
    diff -r f94e0cd9a862 -r 178b89a3ca4f project/templates/registration/download-csv.html --- a/project/templates/registration/download-csv.html Tue Jul 13 19:57:37 2010 +0530 +++ b/project/templates/registration/download-csv.html Tue Jul 13 23:40:34 2010 +0530 @@ -11,7 +11,7 @@ method="post">
    Select Registrations -
    {{ proceedings_form.title.label }} {{ proceedings_form.title.errors }}{{ proceedings_form.title }}
    +
    {{ form }}