summaryrefslogtreecommitdiff
path: root/project/scipycon/base/models.py
diff options
context:
space:
mode:
authorParth Buch2012-08-28 17:03:37 +0530
committerParth Buch2012-08-28 17:03:37 +0530
commit7e38fd922a8dd4742d09758cd1c94fb0302045d3 (patch)
treeb43d6ea8c47fb80e09e5e0bfd8759ac7d697addf /project/scipycon/base/models.py
downloadscipywebsite-7e38fd922a8dd4742d09758cd1c94fb0302045d3.tar.gz
scipywebsite-7e38fd922a8dd4742d09758cd1c94fb0302045d3.tar.bz2
scipywebsite-7e38fd922a8dd4742d09758cd1c94fb0302045d3.zip
Reboot for scipy 2012
Diffstat (limited to 'project/scipycon/base/models.py')
-rw-r--r--project/scipycon/base/models.py81
1 files changed, 81 insertions, 0 deletions
diff --git a/project/scipycon/base/models.py b/project/scipycon/base/models.py
new file mode 100644
index 0000000..3146ca4
--- /dev/null
+++ b/project/scipycon/base/models.py
@@ -0,0 +1,81 @@
+from django.db import models
+
+
+class Event(models.Model):
+ """Data model which holds the data related to the scope or the event.
+ """
+
+ # Different states the Event can be in
+ STATUS_CHOICES = (
+ ('active', 'Active'),
+ ('inactive', 'Inactive'),
+ )
+
+ # Scope of the program, used as a URL prefix
+ scope = models.CharField(max_length=255)
+
+ # Name of the program
+ name = models.CharField(max_length=255)
+
+ # Event specific i.e version of the event
+ turn = models.CharField(max_length=255)
+
+ # Status of the program
+ status = models.CharField(max_length=255, choices=STATUS_CHOICES)
+
+ def __unicode__(self):
+ return '%s %s' % (self.name, self.turn)
+
+ def get_full_name(self):
+ return self.__unicode__()
+
+
+class Timeline(models.Model):
+ """Timeline of the program
+ """
+
+ # Event with which this timeline is associated
+ event = models.OneToOneField(Event)
+
+ # Start of registration for the program
+ registration_start = models.DateTimeField(blank=True, null=True)
+
+ # End of registration for the program
+ registration_end = models.DateTimeField(blank=True, null=True)
+
+ # Start of Call for Papers
+ cfp_start = models.DateTimeField(blank=True, null=True)
+
+ # End of Call for Papers
+ cfp_end = models.DateTimeField(blank=True, null=True)
+
+ # Accepted papers announced
+ accepted_papers_announced = models.DateTimeField(blank=True, null=True)
+
+ # Deadline to submit proceedings paper
+ proceedings_paper_deadline = models.DateTimeField(blank=True, null=True)
+
+ # Start of the actual program
+ event_start = models.DateTimeField(blank=True, null=True)
+
+ # End of the actual program
+ event_end = models.DateTimeField(blank=True, null=True)
+
+ def __unicode__(self):
+ return '%s %s' % (self.event.name, self.event.turn)
+
+
+class ScopedBase(models.Model):
+ """Base model which is in turn inherited by other models
+ which needs to be scoped.
+ """
+
+ # Scope of entity in which it is visible
+ scope = models.ForeignKey(Event)
+
+ class Meta:
+ abstract = True
+
+
+class Paid(models.Model):
+ event_start = models.DateTimeField(blank=True, null=True)