Use Django's new UUIDField
[mygpo.git] / mygpo / suggestions / views.py
blob55b47ea023f8110671a3e9f3a6a7b0ec3cd79abd
1 from django.core.urlresolvers import reverse
2 from django.http import HttpResponseRedirect
3 from django.contrib.auth.decorators import login_required
4 from django.shortcuts import render
5 from django.contrib.sites.models import RequestSite
6 from django.views.decorators.vary import vary_on_cookie
7 from django.views.decorators.cache import never_cache, cache_control
9 from mygpo.web.views.podcast import slug_decorator, id_decorator
10 from mygpo.suggestions.models import PodcastSuggestion
11 from mygpo.podcasts.models import Podcast
13 import logging
14 logger = logging.getLogger(__name__)
17 @never_cache
18 @login_required
19 def blacklist(request, blacklisted_podcast):
20 user = request.user
22 logger.info('Removing suggestion of "{podcast}" for "{user}"'.format(
23 podcast=blacklisted_podcast, user=user))
25 suggestion = PodcastSuggestion.objects.filter(suggested_to=user,
26 podcast=blacklisted_podcast)\
27 .update(deleted=True)
28 return HttpResponseRedirect(reverse('suggestions'))
31 @vary_on_cookie
32 @cache_control(private=True)
33 @login_required
34 def suggestions(request):
35 user = request.user
36 suggestions = Podcast.objects.filter(podcastsuggestion__suggested_to=user,
37 podcastsuggestion__deleted=False)
38 current_site = RequestSite(request)
39 return render(request, 'suggestions.html', {
40 'entries': suggestions,
41 'url': current_site
45 blacklist_slug = slug_decorator(blacklist)
46 blacklist_id = id_decorator(blacklist)