]> git.0d.be Git - django-panik-combo.git/blobdiff - panikombo/models.py
add minimalistic 'episode' cell type
[django-panik-combo.git] / panikombo / models.py
index 656b2cf78567dc9d7fbfedf220367994fbe30004..0f74a5b3a2132f9959b6cdc4e9963f80d5ccb388 100644 (file)
@@ -34,3 +34,28 @@ class SoundCell(CellBase):
                         self.soundfile.episode.title)
 
         return ''
+
+
+@register_cell_class
+class EpisodeCell(CellBase):
+    episode = models.ForeignKey('emissions.Episode', null=True)
+
+    class Meta:
+        verbose_name = _('Episode')
+
+    def render(self, context):
+        tmpl = template.loader.get_template('panikombo/episode.html')
+        context['episode'] = self.episode
+        context['soundfile'] = self.episode.main_sound
+        return tmpl.render(context)
+
+    def get_default_form_class(self):
+        from .forms import EpisodeCellForm
+        return EpisodeCellForm
+
+    def get_additional_label(self):
+        if self.episode:
+            return u'%s - %s' % (
+                        self.episode.emission.title,
+                        self.episode.title)
+        return ''