project/scipycon/talk/models.py
author Madhusudan.C.S <madhusudancs@gmail.com>
Wed, 14 Jul 2010 19:34:12 +0530
changeset 101 61fc4aa7a09a
parent 94 87e77aa18610
child 104 1a83a26756c3
permissions -rw-r--r--
Added base app from which all other apps inherit and made corresponding changes in other apps.

from django.db import models
from django.contrib.auth.models import User

from tagging import register
from tagging.fields import TagField
from tagging.utils import parse_tag_input

from project.scipycon.base import models as base_models


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'),
    )


class Talk(base_models.Base):
    """Defines talks at SciPy.in
    """

    slug = models.SlugField()

    speaker = models.ForeignKey(User)

    authors_bio = models.TextField()

    contact = models.EmailField()

    title = models.CharField(max_length=1024)

    abstract = models.TextField()

    topic = 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)

    approved = models.BooleanField(default=False)

    submitted = models.DateTimeField(auto_now_add=True)

    last_mod = models.DateTimeField(auto_now=True)

    def __unicode__(self):
        return self.title

    def get_tag_list(self):
        return parse_tag_input(self.tags)