From 5b7087f478294a14245cdbca712faa9e03f83546 Mon Sep 17 00:00:00 2001 From: Luke Hatcher Date: Thu, 30 Aug 2012 22:43:43 -0400 Subject: [PATCH] add proposal base to presentation --- symposion/schedule/models.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/symposion/schedule/models.py b/symposion/schedule/models.py index b7f08b68..688756d3 100644 --- a/symposion/schedule/models.py +++ b/symposion/schedule/models.py @@ -1,9 +1,10 @@ from django.db import models -from symposion.conference.models import Section - from markitup.fields import MarkupField +from symposion.proposals.models import ProposalBase +from symposion.conference.models import Section + class Schedule(models.Model): @@ -60,15 +61,20 @@ class SlotRoom(models.Model): class Presentation(models.Model): slot = models.OneToOneField(Slot, null=True, blank=True, related_name="presentation") - title = models.CharField(max_length=100) description = models.MarkupField() abstract = models.MarkupField() - speaker = models.ForeignKey("speakers.Speaker", related_name="presentations") additional_speakers = models.ManyToManyField("speakers.Speaker", blank=True) - cancelled = models.BooleanField(default=False) + _proposal = models.ForeignKey(ProposalBase, related_name="presentation") + + @property + def proposal(self): + if self._proposal: + proposal = ProposalBase.objects.get_subclass(pk=self._proposal.pk) + return proposal + return None def speakers(self): yield self.speaker