symposion_app/symposion_project/proposals/models.py

55 lines
1.4 KiB
Python

from django.db import models
from symposion.proposals.models import ProposalBase
class ProposalCategory(models.Model):
name = models.CharField(max_length=100)
slug = models.SlugField()
def __unicode__(self):
return self.name
class Meta:
verbose_name = "proposal category"
verbose_name_plural = "proposal categories"
class Proposal(ProposalBase):
AUDIENCE_LEVEL_NOVICE = 1
AUDIENCE_LEVEL_EXPERIENCED = 2
AUDIENCE_LEVEL_INTERMEDIATE = 3
AUDIENCE_LEVELS = [
(AUDIENCE_LEVEL_NOVICE, "Novice"),
(AUDIENCE_LEVEL_INTERMEDIATE, "Intermediate"),
(AUDIENCE_LEVEL_EXPERIENCED, "Experienced"),
]
category = models.ForeignKey(ProposalCategory)
audience_level = models.IntegerField(choices=AUDIENCE_LEVELS)
recording_release = models.BooleanField(
default=True,
help_text="By submitting your talk proposal, you agree to give permission to the conference organizers to record, edit, and release audio and/or video of your presentation. If you do not agree to this, please uncheck this box."
)
class Meta:
abstract = True
class TalkProposal(Proposal):
class Meta:
verbose_name = "talk proposal"
class TutorialProposal(Proposal):
class Meta:
verbose_name = "tutorial proposal"
class PosterProposal(Proposal):
class Meta:
verbose_name = "poster proposal"