summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--project/scipycon/base/models.py62
1 files changed, 60 insertions, 2 deletions
diff --git a/project/scipycon/base/models.py b/project/scipycon/base/models.py
index b3084d3..63970d2 100644
--- a/project/scipycon/base/models.py
+++ b/project/scipycon/base/models.py
@@ -1,11 +1,69 @@
from django.db import models
+from django.core.management.validation import max_length
-class ScopedBase(models.Model):
- """Base model which is in turn inherited by other 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)
+
+ # Time associated with the program
+ timeline = models.OneToOneField(Timeline)
+
+ # Status of the program
+ status = models.CharField(max_length=255, choices=STATUS_CHOICES)
+
+
+class Timeline(models.Model):
+ """Timeline of the program
+ """
+
+ # Start of registration for the program
+ registration_start = models.DateTimeField()
+
+ # End of registration for the program
+ registration_end = models.DateTimeField()
+
+ # Start of Call for Papers
+ cfp_start = models.DateTimeField()
+
+ # End of Call for Papers
+ cfp_end = models.DateTimeField()
+
+ # Accepted papers announced
+ accepted_papers_announced = models.DateTimeField()
+
+ # Deadline to submit proceedings paper
+ proceedings_paper_deadline = models.DateTimeField()
+
+ # Start of the actual program
+ event_start = models.DateTimeField()
+
+ # End of the actual program
+ event_end = models.DateTimeField()
+
+
+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(Scope)
+
class Meta:
abstract = True