]> git.0d.be Git - django-panik-combo.git/blobdiff - panikombo/models.py
add sort order option to sounds cell
[django-panik-combo.git] / panikombo / models.py
index 26a8d2a8c3c02c0fafd486dd504c724c313953f0..26a8e305d63a0358e82260a7f9cdf0d4cb2a1d0b 100644 (file)
@@ -230,6 +230,16 @@ class SoundsCell(CellBase):
     include_fragments = models.BooleanField(_('Include fragments'), default=True)
     limit_to_focus = models.BooleanField(_('Limit to focused elements'), default=False)
     count = models.PositiveSmallIntegerField(_('Count'), default=20)
+    sort_order = models.CharField(_('Sort order'), default='-creation_timestamp',
+            max_length=30,
+            choices=[
+                ('-creation_timestamp', _('Reverse chronological (creation)')),
+                ('-first_diffusion', _('Reverse chronological (diffusion)')),
+                ('creation_timestamp', _('Chronological (creation)')),
+                ('first_diffusion', _('Chronological (diffusion)')),
+                ('?', _('Random')),
+            ]
+            )
 
     class Meta:
         verbose_name = _('Sounds')
@@ -247,7 +257,7 @@ class SoundsCell(CellBase):
                     where=['''datetime = (SELECT MIN(datetime)
                                             FROM emissions_diffusion
                                         WHERE episode_id = emissions_episode.id)'''],
-                    tables=['emissions_diffusion'],).order_by('-creation_timestamp').distinct()
+                    tables=['emissions_diffusion'],).order_by(self.sort_order).distinct()
         return {
             'include_search_input': self.include_search_input,
             'count': self.count,