diff --git a/symposion/schedule/models.py b/symposion/schedule/models.py index 0d7f642e9b47b3f763334247a3f767c5cd288f8b..a47afb9d909a3f4d169a76f6ac7ca1c188b3d7b6 100644 --- a/symposion/schedule/models.py +++ b/symposion/schedule/models.py @@ -1,3 +1,5 @@ +import datetime + from django.core.exceptions import ObjectDoesNotExist from django.db import models @@ -92,6 +94,29 @@ class Slot(models.Model): except ObjectDoesNotExist: return None + @property + 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) + + @property + def end_datetime(self): + return datetime.datetime( + self.day.date.year, + self.day.date.month, + self.day.date.day, + self.end.hour, + self.end.minute) + + @property + def length_in_minutes(self): + return int( + (self.end_datetime - self.start_datetime).total_seconds() / 60) + @property def rooms(self): return Room.objects.filter(pk__in=self.slotroom_set.values("room"))