import datetime
from django.core.exceptions import ObjectDoesNotExist
from django.db import models
from markitup.fields import MarkupField
from symposion.proposals.models import ProposalBase
from symposion.conference.models import Section
class Schedule(models.Model):
section = models.OneToOneField(Section)
@@ -83,24 +85,47 @@ class Slot(models.Model):
@property
def content(self):
"""
Return the content this slot represents.
@@@ hard-coded for presentation for now
try:
return self.content_ptr
except ObjectDoesNotExist:
return None
def start_datetime(self):
return datetime.datetime(
self.day.date.year,
self.day.date.month,
self.day.date.day,
self.start.hour,
self.start.minute)
def end_datetime(self):
self.end.hour,
self.end.minute)
def length_in_minutes(self):
return int(
(self.end_datetime - self.start_datetime).total_seconds() / 60)
def rooms(self):
return Room.objects.filter(pk__in=self.slotroom_set.values("room"))
def __unicode__(self):
return "%s %s (%s - %s)" % (self.day, self.kind, self.start, self.end)
class Meta:
ordering = ["day", "start", "end"]
class SlotRoom(models.Model):