]> git.0d.be Git - panikdb.git/blobdiff - panikdb/views.py
load-piwik-stats: make request using requests module
[panikdb.git] / panikdb / views.py
index fba812bb12d3759ce44e6b27e8fa9aefab00de43..ec08d9b7460ab1bffde165994b93f9e82f1c84d2 100644 (file)
@@ -3,22 +3,31 @@ import datetime
 from django.contrib.auth.decorators import login_required
 from django.core.exceptions import PermissionDenied
 from django.core.urlresolvers import reverse
-from django.template import loader, Context
+from django.template import loader
 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
 
+from .poll.models import Vote
+
 class Home(TemplateView):
     template_name = 'home.html'
 
     def get_context_data(self, **kwargs):
         context = super(Home, self).get_context_data(**kwargs)
+        try:
+            vote = Vote.objects.get(user=self.request.user)
+        except Vote.DoesNotExist:
+            context['display_poll_button'] = True
         context['emissions'] = self.request.user.emissions.all().order_by('title')
         context['news_categories'] = self.request.user.news_categories.all().order_by('title')
         if self.request.user.has_perm('emissions.add_focus'):
@@ -62,7 +71,7 @@ class NewsletterCreateView(newsletter.views.NewsletterCreateView):
 
         newsletter_body = loader.get_template('newsletter/body.html')
         newsletter_subject = loader.get_template('newsletter/subject.txt')
-        context = Context()
+        context = {}
 
         date = datetime.datetime.today()
         if date.weekday() > 0:
@@ -147,6 +156,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 +205,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)