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):
20 service_provider_id = models.IntegerField(null=True, blank=True)
21 name = models.CharField(max_length=254,help_text="Service Provider Name")
22 description = models.TextField(max_length=254,null=True, blank=True, help_text="Description of Service Provider")
23 enabled = models.BooleanField(default=True)
25 def __unicode__(self): return u'%s' % (self.name)
27 class ContentProvider(PlCoreBase):
31 content_provider_id = models.IntegerField(null=True, blank=True)
32 name = models.CharField(max_length=254)
33 enabled = models.BooleanField(default=True)
34 description = models.TextField(max_length=254,null=True, blank=True,help_text="Description of Content Provider")
35 serviceProvider = models.ForeignKey(ServiceProvider)
37 # Note user relationships are directed not requiring a role.
38 users = models.ManyToManyField(User)
40 def __unicode__(self): return u'%s' % (self.name)
42 class OriginServer(PlCoreBase):
46 origin_server_id = models.IntegerField(null=True, blank=True)
47 url = models.URLField()
48 contentProvider = models.ForeignKey(ContentProvider)
50 authenticated = models.BooleanField(default=False, help_text="Status for this Site")
51 enabled = models.BooleanField(default=True, help_text="Status for this Site")
52 PROTOCOL_CHOICES = (('http', 'HTTP'),('rtmp', 'RTMP'), ('rtp', 'RTP'),('shout', 'SHOUTcast'))
53 protocol = models.CharField(default="HTTP", max_length = 12, choices=PROTOCOL_CHOICES)
54 redirects = models.BooleanField(default=True, help_text="Indicates whether Origin Server redirects should be used for this Origin Server")
55 description = models.TextField(null=True, blank=True, max_length=255)
57 def __unicode__(self): return u'%s' % (self.url)
59 class CDNPrefix(PlCoreBase):
63 cdn_prefix_id = models.IntegerField(null=True, blank=True)
64 prefix = models.CharField(max_length=200, help_text="Registered Prefix for Domain")
65 contentProvider = models.ForeignKey(ContentProvider)
66 description = models.TextField(max_length=254,null=True, blank=True,help_text="Description of Content Provider")
68 defaultOriginServer = models.ForeignKey(OriginServer)
69 enabled = models.BooleanField(default=True)
71 def __unicode__(self): return u'%s' % (self.prefix)