1 from django
.urls
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
.requests
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
.podcasts
.views
.podcast
import slug_decorator
, id_decorator
10 from mygpo
.suggestions
.models
import PodcastSuggestion
11 from mygpo
.podcasts
.models
import Podcast
15 logger
= logging
.getLogger(__name__
)
20 def blacklist(request
, blacklisted_podcast
):
24 'Removing suggestion of "{podcast}" for "{user}"'.format(
25 podcast
=blacklisted_podcast
, user
=user
29 suggestion
= PodcastSuggestion
.objects
.filter(
30 suggested_to
=user
, podcast
=blacklisted_podcast
31 ).update(deleted
=True)
32 return HttpResponseRedirect(reverse("suggestions"))
36 @cache_control(private
=True)
38 def suggestions(request
):
40 suggestions
= Podcast
.objects
.filter(
41 podcastsuggestion__suggested_to
=user
, podcastsuggestion__deleted
=False
43 current_site
= RequestSite(request
)
45 request
, "suggestions.html", {"entries": suggestions
, "url": current_site
}
49 blacklist_slug
= slug_decorator(blacklist
)
50 blacklist_id
= id_decorator(blacklist
)