]> git.0d.be Git - django-panik-combo.git/blobdiff - panikombo/models.py
add topik cell
[django-panik-combo.git] / panikombo / models.py
index 617212a6546e0e75bc443d10bf1300c6fae7eb62..c587791c1e53621f62582f6ee5627da9bb88d7a2 100644 (file)
@@ -5,6 +5,7 @@ from django import template
 from django.db import models
 from django.utils.translation import ugettext_lazy as _
 
+from ckeditor.fields import RichTextField
 from taggit.managers import TaggableManager
 
 from combo.data.models import CellBase
@@ -172,6 +173,11 @@ class Topik(models.Model):
     got_focus = models.DateTimeField(default=None, null=True, blank=True)
     has_focus = models.BooleanField(default=False)
 
+    def __unicode__(self):
+        if not self.page:
+            return super(Topik, self).__unicode__()
+        return unicode(self.page)
+
 
 class ItemTopik(models.Model):
     newsitem = models.ForeignKey('emissions.NewsItem', verbose_name=_('News Item'),
@@ -180,3 +186,19 @@ class ItemTopik(models.Model):
             null=True, blank=True)
     topik = models.ForeignKey('Topik', verbose_name='Topik',
             null=True, blank=True)
+
+
+@register_cell_class
+class TopikCell(CellBase):
+    topik = models.ForeignKey(Topik, null=True)
+    text = RichTextField(_('Text'), blank=True, null=True)
+
+    template_name = 'panikombo/topik-cell.html'
+
+    class Meta:
+        verbose_name = _('Topik')
+
+    def get_additional_label(self):
+        if not self.topik:
+            return ''
+        return self.topik.page.title