1 from django.db import models
2 from core.models import User, Service, SingletonModel, PlCoreBase
4 from django.db import models
5 from django.forms.models import model_to_dict
8 # Create your models here.
10 class HpcService(SingletonModel,Service):
14 verbose_name = "HPC Service"
16 class ServiceProvider(PlCoreBase):
19 name = models.CharField(max_length=254,help_text="Service Provider Name")
20 description = models.TextField(max_length=254,null=True, blank=True, help_text="Description of Service Provider")
21 enabled = models.BooleanField(default=True)
23 def __unicode__(self): return u'%s' % (self.name)
25 class ContentProvider(PlCoreBase):
28 name = models.CharField(max_length=254)
29 enabled = models.BooleanField(default=True)
30 description = models.TextField(max_length=254,null=True, blank=True,help_text="Description of Content Provider")
31 serviceProvider = models.ForeignKey(ServiceProvider)
33 # Note user relationships are directed not requiring a role.
34 users = models.ManyToManyField(User)
36 def __unicode__(self): return u'%s' % (self.name)
38 class OriginServer(PlCoreBase):
41 url = models.URLField()
42 contentProvider = models.ForeignKey(ContentProvider)
44 authenticated = models.BooleanField(default=False, help_text="Status for this Site")
45 enabled = models.BooleanField(default=True, help_text="Status for this Site")
46 PROTOCOL_CHOICES = (('http', 'HTTP'),('rtmp', 'RTMP'), ('rtp', 'RTP'),('shout', 'SHOUTcast'))
47 protocol = models.CharField(default="HTTP", max_length = 12, choices=PROTOCOL_CHOICES)
48 redirects = models.BooleanField(default=True, help_text="Indicates whether Origin Server redirects should be used for this Origin Server")
49 description = models.TextField(null=True, blank=True, max_length=255)
51 def __unicode__(self): return u'%s' % (self.url)
53 class CDNPrefix(PlCoreBase):
56 prefix = models.CharField(max_length=200, help_text="Registered Prefix for Domain")
57 contentProvider = models.ForeignKey(ContentProvider)
58 description = models.TextField(max_length=254,null=True, blank=True,help_text="Description of Content Provider")
60 defaultOriginServer = models.ForeignKey(OriginServer)
61 enabled = models.BooleanField(default=True)
63 def __unicode__(self): return u'%s' % (self.prefix)