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"