X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/d1d6ea8ed2889f871b6d89d4fae6021f286f921a..355e42e2b2244470ac6a5b9ad056e4a3f38f838c:/src/catalogue/views.py?ds=sidebyside diff --git a/src/catalogue/views.py b/src/catalogue/views.py index 1f2db19c6..2ea5eb019 100644 --- a/src/catalogue/views.py +++ b/src/catalogue/views.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # @@ -18,8 +17,8 @@ from django.utils import translation from django.utils.translation import ugettext as _, ugettext_lazy from ajaxable.utils import AjaxableFormView +from club.models import Membership from pdcounter import views as pdcounter_views -from paypal.rest import user_is_subscribed from picture.models import Picture, PictureArea from ssify import ssi_included, ssi_expect, SsiVariable as Var from catalogue import constants @@ -171,10 +170,10 @@ def analyse_tags(request, tag_str): raise ResponseInstead(pdcounter_views.author_detail(request, chunks[1])) else: raise Http404 - except Tag.MultipleObjectsReturned, e: + except Tag.MultipleObjectsReturned as e: # Ask the user to disambiguate raise ResponseInstead(differentiate_tags(request, e.tags, e.ambiguous_slugs)) - except Tag.UrlDeprecationWarning, e: + except Tag.UrlDeprecationWarning as e: raise ResponseInstead(HttpResponsePermanentRedirect( reverse('tagged_object_list', args=['/'.join(tag.url_chunk for tag in e.tags)]))) @@ -307,7 +306,7 @@ def player(request, slug): def book_text(request, slug): book = get_object_or_404(Book, slug=slug) - if book.preview and not user_is_subscribed(request.user): + if book.preview and not Membership.is_active_for(request.user): return HttpResponseRedirect(book.get_absolute_url()) if not book.has_html_file(): @@ -362,7 +361,7 @@ def embargo_link(request, format_, slug): media_file = book.get_media(format_) if not book.preview: return HttpResponseRedirect(media_file.url) - if not user_is_subscribed(request.user): + if not Membership.is_active_for(request.user): return HttpResponseRedirect(book.get_absolute_url()) return HttpResponse(media_file, content_type=constants.EBOOK_CONTENT_TYPES[format_]) @@ -396,7 +395,7 @@ class CustomPDFFormView(AjaxableFormView): def validate_object(self, obj, request): book = obj - if book.preview and not user_is_subscribed(request.user): + if book.preview and not Membership_is_active_for(request.user): return HttpResponseRedirect(book.get_absolute_url()) return super(CustomPDFFormView, self).validate_object(obj, request) @@ -512,7 +511,7 @@ def collections(request): objects = Collection.objects.all() if len(objects) > 3: - best = random.sample(objects, 3) + best = random.sample(list(objects), 3) else: best = objects