]> git.0d.be Git - panikdb.git/blobdiff - panikdb/views.py
add support for Topik objects
[panikdb.git] / panikdb / views.py
index fba812bb12d3759ce44e6b27e8fa9aefab00de43..b7b57ec05e372c624f959293a00b350b8588628f 100644 (file)
@@ -7,9 +7,12 @@ from django.template import loader, Context
 from django.views.generic.base import TemplateView, RedirectView
 from django.views.generic.list import ListView
 from django.contrib import messages
+from django.shortcuts import redirect
 
 from emissions.models import *
 from emissions.utils import period_program
+from panikombo.models import Topik
+from combo.data.models import Page
 
 import emissions.views
 import newsletter.views
@@ -147,6 +150,16 @@ class FocusSetView(RedirectView):
                 'slug': soundfile.episode.slug,
                 'emission_slug': soundfile.episode.emission.slug,
                 })
+        if object_type == 'page':
+            page = Page.objects.get(id=object_id)
+            try:
+                f = Focus.objects.get(page=page)
+            except Focus.DoesNotExist:
+                f = Focus()
+            f.current = True
+            f.page = page
+            f.save()
+            return reverse('combo-manager-page-view', kwargs={'pk': object_id})
 
 focus_set = FocusSetView.as_view()
 
@@ -186,5 +199,17 @@ class FocusUnsetView(RedirectView):
                 'slug': soundfile.episode.slug,
                 'emission_slug': soundfile.episode.emission.slug,
                 })
+        if object_type == 'page':
+            focus = Focus.objects.get(page=object_id)
+            focus.current = False
+            focus.save()
+            return reverse('combo-manager-page-view', kwargs={'pk': object_id})
 
 focus_unset = FocusUnsetView.as_view()
+
+def make_topik(request, page_pk):
+    if Topik.objects.filter(page__id=page_pk).count():
+        raise Exception('page already associated to topik')
+    topik = Topik(page_id=page_pk)
+    topik.save()
+    return redirect('combo-manager-page-view', pk=page_pk)