summaryrefslogtreecommitdiff
path: root/project/kiwipycon/talk
diff options
context:
space:
mode:
Diffstat (limited to 'project/kiwipycon/talk')
-rw-r--r--project/kiwipycon/talk/__init__.py0
-rw-r--r--project/kiwipycon/talk/admin.py23
-rw-r--r--project/kiwipycon/talk/forms.py62
-rw-r--r--project/kiwipycon/talk/migrations/0001_initial.py68
-rw-r--r--project/kiwipycon/talk/migrations/__init__.py0
-rw-r--r--project/kiwipycon/talk/models.py73
-rw-r--r--project/kiwipycon/talk/templatetags/__init__.py1
-rw-r--r--project/kiwipycon/talk/templatetags/talk_extras.py8
-rw-r--r--project/kiwipycon/talk/views.py193
9 files changed, 0 insertions, 428 deletions
diff --git a/project/kiwipycon/talk/__init__.py b/project/kiwipycon/talk/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/project/kiwipycon/talk/__init__.py
+++ /dev/null
diff --git a/project/kiwipycon/talk/admin.py b/project/kiwipycon/talk/admin.py
deleted file mode 100644
index 73c8d6a..0000000
--- a/project/kiwipycon/talk/admin.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-
-#django.contrib
-from django.contrib import admin
-
-#kiwipycon
-from .models import Talk
-
-class TalkAdmin(admin.ModelAdmin):
- list_display = ('title', 'speaker', 'topic', 'duration', 'audience', 'approved')
- list_filter = ('approved', 'audience', 'topic', 'speaker')
- search_fields = ('slug', 'title', 'abstract')
- prepopulate_from = {'slug': ('title',)}
- fieldsets = (
- ('Details', {
- 'fields': ('slug', 'title', 'abstract', 'speaker')
- }),
- ('Information', {
- 'fields': ('topic', 'duration', 'audience', 'approved')
- }),
- )
-admin.site.register(Talk, TalkAdmin)
diff --git a/project/kiwipycon/talk/forms.py b/project/kiwipycon/talk/forms.py
deleted file mode 100644
index 49e12d7..0000000
--- a/project/kiwipycon/talk/forms.py
+++ /dev/null
@@ -1,62 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-
-#django
-from django import forms
-
-#django.contrib
-from django.contrib.auth.models import User
-
-#tagging
-from tagging.forms import TagField
-
-#kiwipycon
-#from .models import TOPIC_CHOICES
-from .models import DURATION_CHOICES
-from .models import AUDIENCE_CHOICES
-
-
-class TalkSubmitForm(forms.Form):
- """Submit talk form
- """
- authors_bio = forms.CharField(widget=forms.Textarea, required=True,
- label=u'Author(s) and short bio',
- help_text=u'(include a bit about your qualifications regarding your presentation topic)')
- contact = forms.EmailField(required=True, label=u'E-Mail ID',
- help_text=u'Provide your email ID',
- max_length=1024,
- widget=forms.TextInput(attrs={'size':'50'}))
- title = forms.CharField(required=True, label=u'Talk title',
- help_text=u'Title of proposed presentation',
- max_length=1024,
- widget=forms.TextInput(attrs={'size':'50'}))
- abstract = forms.CharField(widget=forms.Textarea, required=True,
- help_text=u'Summary of proposed presentation (In 300-700 words)')
-# outline = forms.CharField(widget=forms.Textarea, required=True,
-# help_text=u'Outline of proposed presentation (around 200 words)')
-# topic = forms.ChoiceField(choices=TOPIC_CHOICES,
-# label=u'Topic', help_text=u'Select one of the available options or enter other topic')
-# topic_other = forms.CharField(label=u'Other topic',
-# help_text=u'Description of your topic',
-# max_length=255,
-# required=False,
-# widget=forms.TextInput(attrs={'size':'50'}))
- topic = forms.CharField(label=u'Topic',
- help_text=u'Description of your topic or comma separated tags',
- max_length=255,
- required=False,
- widget=forms.TextInput(attrs={'size':'50'}))
- duration = forms.ChoiceField(choices=DURATION_CHOICES, required=True,
- label=u'Preferred timeslot', help_text=u'Select preferred time slot')
- audience = forms.ChoiceField(choices=AUDIENCE_CHOICES, label=u'Intended audience',
- help_text=u'Select one of the available options or enter other type of intended audience')
-# audience_other = forms.CharField(label=u'Other intended audience',
-# help_text=u'Description of intended audience (ie. Discordians)',
-# max_length=128,
-# required=False,
-# widget=forms.TextInput(attrs={'size':'50'}))
-# tags = TagField(max_length=255,
-# widget=forms.TextInput(attrs={'size':'50'}))
-
-class TalkEditForm(TalkSubmitForm):
- id = forms.CharField(widget=forms.HiddenInput)
diff --git a/project/kiwipycon/talk/migrations/0001_initial.py b/project/kiwipycon/talk/migrations/0001_initial.py
deleted file mode 100644
index 6eec7f7..0000000
--- a/project/kiwipycon/talk/migrations/0001_initial.py
+++ /dev/null
@@ -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 --git a/project/kiwipycon/talk/migrations/__init__.py b/project/kiwipycon/talk/migrations/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/project/kiwipycon/talk/migrations/__init__.py
+++ /dev/null
diff --git a/project/kiwipycon/talk/models.py b/project/kiwipycon/talk/models.py
deleted file mode 100644
index de0b11f..0000000
--- a/project/kiwipycon/talk/models.py
+++ /dev/null
@@ -1,73 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-
-#django
-from django.db import models
-from django.contrib.auth.models import User
-
-#tagging
-from tagging import register
-from tagging.fields import TagField
-from tagging.utils import parse_tag_input
-
-DURATION_CHOICES = (
- ('10', 'Lightning Talk (10 mins)'),
- ('20', 'Short Talk (20 mins)'),
- ('30', 'Standard Talk (30 mins)'),
- )
-
-AUDIENCE_CHOICES = (
- ('nonprogrammers', 'non-programmer'),
- ('beginers', 'beginning programmer'),
- ('intermediate', 'intermediate programmer'),
- ('advanced', 'advanced programmer'),
- )
-
-#TOPIC_CHOICES = (
-# ('Core Python', 'Core Python'),
-# ('Other implementations: Jython, IronPython, PyPy, and Stackless', 'Other implementations: Jython, IronPython, PyPy, and Stackless'),
-# ('Python libraries and extensions', 'Python libraries and extensions'),
-# ('Python 3k', 'Python 3k'),
-# ('Databases', 'Databases'),
-# ('Documentation', 'Documentation'),
-# ('GUI Programming', 'GUI Programming'),
-# ('Game Programming', 'Game Programming'),
-# ('Network Programming', 'Network Programming'),
-# ('Open Source Python projects', 'Open Source Python projects'),
-# ('Packaging Issues', 'Packaging Issues'),
-# ('Programming Tools', 'Programming Tools'),
-# ('Project Best Practices', 'Project Best Practices'),
-# ('Embedding and Extending', 'Embedding and Extending'),
-# ('Science and Maths', 'Science and Maths'),
-# ('Web-based Systems', 'Web-based Systems'),
-#)
-
-class Talk(models.Model):
- """Defines talks at *PyCon"""
- slug = models.SlugField()
- speaker = models.ForeignKey(User)
- authors_bio = models.TextField()
- contact = models.EmailField()
- title = models.CharField(max_length=1024)
- abstract = models.TextField()
-# outline = models.TextField()
- topic = models.CharField(max_length=255,
- #choices=TOPIC_CHOICES,
- blank=True)
-# topic_other = models.CharField(max_length=255, blank=True)
- duration = models.CharField(max_length=3, choices=DURATION_CHOICES)
- audience = models.CharField(max_length=32, choices=AUDIENCE_CHOICES, blank=True)
-# 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)
-
- def __unicode__(self):
- return self.title
-
- def get_tag_list(self):
- return parse_tag_input(self.tags)
-
-# register(Talk) # saving talk failed - see:
-# http://code.google.com/p/django-tagging/issues/detail?id=152
diff --git a/project/kiwipycon/talk/templatetags/__init__.py b/project/kiwipycon/talk/templatetags/__init__.py
deleted file mode 100644
index 792d600..0000000
--- a/project/kiwipycon/talk/templatetags/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-#
diff --git a/project/kiwipycon/talk/templatetags/talk_extras.py b/project/kiwipycon/talk/templatetags/talk_extras.py
deleted file mode 100644
index e28f2bf..0000000
--- a/project/kiwipycon/talk/templatetags/talk_extras.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from django import template
-
-register = template.Library()
-
-def choice(choices, value):
- return choices[value]
-
-register.filter('choice', choice)
diff --git a/project/kiwipycon/talk/views.py b/project/kiwipycon/talk/views.py
deleted file mode 100644
index 017bcd3..0000000
--- a/project/kiwipycon/talk/views.py
+++ /dev/null
@@ -1,193 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import absolute_import
-
-# python imports
-from urlparse import urlparse
-
-# django
-from django.conf import settings
-from django.shortcuts import render_to_response
-from django.template import RequestContext
-from django.core.urlresolvers import reverse
-from django.views.generic.list_detail import object_list
-from django.views.generic.list_detail import object_detail
-
-from django.contrib.auth.decorators import login_required
-from django.contrib.auth.forms import AuthenticationForm
-from django.contrib.auth.models import User
-
-# PIL
-from PIL import Image
-
-# 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
-
-from .models import Talk
-from .forms import TalkSubmitForm
-from .forms import TalkEditForm
-from .models import DURATION_CHOICES
-from .models import AUDIENCE_CHOICES
-
-def list_talks(request):
- objects = Talk.objects.filter(approved=True)
- extra_context = dict(count=objects.count())
- return object_list(request, objects, extra_context=extra_context)
-
-def talk(request, id):
- objects = Talk.objects.filter(approved=True)
- audience = {}
- for choice in AUDIENCE_CHOICES:
- audience[choice[0]] = choice[1]
- extra_context = dict(choices=audience)
- return object_detail(request, objects, id, extra_context=extra_context)
-
-@login_required
-def edit_talk(request, id, template_name='talk/edit-talk.html'):
- '''Allows users that submitted a talk to edit it until the talk is approved.
- '''
- talk = Talk.objects.get(pk=id)
-
- if talk.approved == True:
- redirect_to = reverse('kiwipycon_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')
- return set_message_cookie(redirect_to,
- msg = u'Redirected to account because the talk you selected' \
- + ' is not your own.')
-
- if request.method == 'POST':
- form = TalkEditForm(data=request.POST)
- if form.is_valid():
- talk.slug = slugify(form.data.get('title'))
- talk.authors_bio = form.data.get('authors_bio')
- talk.contact = form.data.get('contact')
- talk.title = form.data.get('title')
- talk.abstract = form.data.get('abstract')
-# talk.outline = form.data.get('outline')
- talk.topic = form.data.get('topic')
-# talk.topic_other = form.data.get('topic_other')
- talk.duration = form.data.get('duration')
- talk.audience = form.data.get('audience')
-# talk.audience_other = form.data.get('audience_other')
-# talk.tags = form.data.get('tags')
- talk.save()
- # Saved.. redirect
- redirect_to = reverse('kiwipycon_account')
- return set_message_cookie(redirect_to,
- msg = u'Your changes have been saved.')
- else:
- form = TalkEditForm(initial={
- 'id' : id,
- 'authors_bio' : talk.authors_bio,
- 'contact' : talk.contact,
- 'title' : talk.title,
- 'abstract' : talk.abstract,
-# 'outline' : talk.outline,
- 'topic' : talk.topic,
-# 'topic_other' : talk.topic_other,
- 'duration' : talk.duration,
- 'audience' : talk.audience,
-# 'audience_other' : talk.audience_other,
-# 'tags' : talk.tags,
- })
-
- return render_to_response(template_name, RequestContext(request, locals()))
-
-@login_required()
-def submit_talk(request, template_name='talk/submit-talk.html'):
- '''Allows user to edit profile
- '''
- user = request.user
- if user.is_authenticated():
- try:
- profile = user.get_profile()
- except:
- profile, new = UserProfile.objects.get_or_create(user=user)
- if new:
- profile.save()
- message = None
-
- if request.method == 'POST':
- talk_form = TalkSubmitForm(data=request.POST)
-
- register_form = RegisterForm(data=request.POST,
- files=request.FILES)
-
- if request.POST.get('action', None) == 'login':
- login_form = AuthenticationForm(data=request.POST)
- if login_form.is_valid():
-
- from django.contrib.auth import login
- login(request, login_form.get_user())
-
- redirect_to = reverse('kiwipycon_submit_talk')
- return set_message_cookie(redirect_to,
- msg = u'You have been logged in.')
-
- if request.POST.get('action', None) == 'register':
- # add the new user
- if register_form.is_valid():
-
- user = kiwipycon_createuser(request, register_form.data)
-
- if talk_form.is_valid():
- if user.is_authenticated():
- title = talk_form.data.get('title')
- talk = Talk.objects.create(
- slug = slugify(title),
- speaker = User.objects.get(pk=user.id),
- authors_bio = talk_form.data.get('authors_bio'),
- contact = talk_form.data.get('contact'),
- title = talk_form.data.get('title'),
- abstract = talk_form.data.get('abstract'),
-# outline = talk_form.data.get('outline'),
- topic = talk_form.data.get('topic'),
-# topic_other = talk_form.data.get('topic_other'),
- duration = talk_form.data.get('duration'),
- audience = talk_form.data.get('audience'),
-# audience_other = talk_form.data.get('audience_other'),
- approved = False,
-# tags = talk_form.data.get('tags')
- )
- talk.save()
- # Saved, ... redirect back to account
- redirect_to = reverse('kiwipycon_account')
- return set_message_cookie(redirect_to,
- msg = u'Thanks, your talk has been submitted.')
- else:
- redirect_to = reverse('kiwipycon_submit_talk')
- return set_message_cookie(redirect_to,
- msg = u'Something is wrong here.')
-
- else:
- talk_form = TalkSubmitForm()
- register_form = RegisterForm()
- login_form = AuthenticationForm()
-
-
- return render_to_response(template_name, RequestContext(request, {
- 'talk_form': talk_form,
- 'register_form' : register_form,
- 'message' : message,
- 'login_form' : login_form
- }))
-
-def list_talks(request, template_name='talk/list-all-talks.html'):
- '''List all the tasks submitted by a user.
- '''
-
- talks = Talk.objects.filter(approved=True)
-
- return render_to_response(template_name, RequestContext(request, {
- 'talk_list': talks,
- }))