Youtube and stats modules style improvements
[snf-cloudcms] / cloudcms / content.py
index d5715ae..4a65fee 100644 (file)
@@ -175,3 +175,126 @@ class LoginForm(models.Model):
     def render(self, **kwargs):
         return render_to_string(['content/login_form.html'], {'content': self})
 
+
+class IntroButton(models.Model):
+
+    class Meta:
+        abstract = True
+        verbose_name = _('intro images')
+        verbose_name_plural = _('intro images')
+
+    image_1 = MediaFileForeignKey(MediaFile, blank=True, null=True,
+            related_name="as_image1")
+    image_2 = MediaFileForeignKey(MediaFile, blank=True, null=True,
+            related_name="as_image2")
+    image_3 = MediaFileForeignKey(MediaFile, blank=True, null=True,
+            related_name="as_image3")
+    link = models.CharField(max_length=255, blank=False, default="/welcome")
+    link_title = models.CharField(max_length=255, blank=False, default="~okeanos")
+
+    def render(self, **kwargs):
+        return render_to_string(['content/intro_images.html'], {'content': self})
+
+
+
+class TextileContent(models.Model):
+    content = models.TextField()
+
+    class Meta:
+        abstract = True
+
+    def render(self, **kwargs):
+        return textile(self.content)
+    
+class IntroBlock(models.Model):
+    title = models.CharField(_('title'), max_length=200, blank=False)
+    content = models.TextField()
+    class_name = models.CharField(_('class_name'), max_length=200, blank=True, null=True)
+    image = MediaFileForeignKey(MediaFile, blank=True, null=True)
+
+    class Meta:
+        abstract = True
+
+    def render(self, **kwargs):
+        return render_to_string(['content/intro_block.html'], {'content': self})
+
+
+class BlockColor(models.Model):
+    title = models.CharField(_('title'), max_length=200, blank=False)
+    content = models.TextField()
+    color = models.CharField(max_length=200, blank=True, null=True)
+    image = MediaFileForeignKey(MediaFile, blank=True, null=True)
+
+    class Meta:
+        abstract = True
+
+    def render(self, **kwargs):
+        return render_to_string(['content/block_with_color.html'], {'content': self})
+    
+
+class ClientDownload(models.Model):
+
+    client = models.ForeignKey('cloudcms.Client')
+
+    @property
+    def media(self):
+        return forms.Media(js=(
+            settings.MEDIA_URL + 'cloudcms/' + 'js/' + 'client-downloads.js',))
+
+    class Meta:
+        abstract = True
+        verbose_name = _('client download')
+        verbose_name_plural = _('client downloads')
+
+    def render(self, **kwrags):
+        return render_to_string(['content/client_downloads.html'], {'content': self})
+
+
+class StatsBlock(models.Model):
+    
+    @property
+    def media(self):
+        return forms.Media(js=(
+            settings.MEDIA_URL + 'cloudcms/' + 'js/' + 'service-stats.js',))
+
+    title = models.CharField(_('title'), max_length=200, blank=True)    
+    color = models.CharField(max_length=200, blank=True, null=True)
+    running_vms = models.BooleanField(default=False, help_text = "ACTIVE VMs")
+    spawned_vms = models.BooleanField(default=True, help_text= "All VMs")
+    active_vms = models.BooleanField(default=True, help_text ="All VMs - \
+        DELETED VMs")
+    running_networks = models.BooleanField(default=False, help_text = "ACTIVE \
+        networks")
+    spawned_networks = models.BooleanField(default=True,help_text= "All \
+        Networks")
+    active_networks = models.BooleanField(default=False, help_text ="All \
+        Networks - DELETED Networks")
+    title_running_vms = models.CharField(max_length=255,blank=True, null=True)
+    title_spawned_vms = models.CharField(max_length=255,blank=True, null=True)
+    title_active_vms = models.CharField(max_length=255,blank=True, null=True)
+    title_running_networks = models.CharField(max_length=255,blank=True, null=True)
+    title_spawned_networks = models.CharField(max_length=255,blank=True, null=True)
+    title_active_networks = models.CharField(max_length=255,blank=True, null=True)
+    compute_url = models.CharField(max_length=255,blank=True, null=True)
+    
+    class Meta:
+        abstract = True
+
+    def render(self, **kwargs):
+        return render_to_string(['content/stats_block.html'], {'content': self})
+
+class IntroVideo(models.Model):
+
+    @property
+    def media(self):
+        return forms.Media(js=(
+            settings.MEDIA_URL + 'cloudcms/' + 'js/' + 'youtube.js',))
+
+    image = MediaFileForeignKey(MediaFile, blank=True, null=True)
+    youtube_id = models.CharField(max_length=255,blank=True, null=True)
+    
+    class Meta:
+        abstract = True
+
+    def render(self, **kwargs):
+        return render_to_string(['content/intro_video.html'], {'content': self})