X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/65c9feda79d2b2c94cb7dcd561318a83fd796f0a..084f20588e607aa9ae3ed280b6a2f0349b6a3200:/src/catalogue/views.py diff --git a/src/catalogue/views.py b/src/catalogue/views.py index 6299cd19d..fca48b95e 100644 --- a/src/catalogue/views.py +++ b/src/catalogue/views.py @@ -9,7 +9,7 @@ from django.http.response import HttpResponseForbidden from django.template.loader import render_to_string from django.shortcuts import get_object_or_404, render, redirect from django.http import HttpResponse, HttpResponseRedirect, Http404, HttpResponsePermanentRedirect -from django.core.urlresolvers import reverse +from django.urls import reverse from django.db.models import Q, QuerySet from django.contrib.auth.decorators import login_required, user_passes_test from django.utils.http import urlquote_plus @@ -269,6 +269,7 @@ def book_fragments(request, slug, theme_slug): }) +@never_cache def book_detail(request, slug): try: book = Book.objects.get(slug=slug) @@ -356,15 +357,15 @@ def tag_info(request, tag_id): @never_cache -def embargo_link(request, format_, slug): +def embargo_link(request, key, format_, slug): book = get_object_or_404(Book, slug=slug) if format_ not in Book.formats: raise Http404 + if key != book.preview_key: + raise Http404 media_file = book.get_media(format_) if not book.preview: return HttpResponseRedirect(media_file.url) - 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_]) @@ -414,19 +415,6 @@ class CustomPDFFormView(AjaxableFormView): #### -@ssi_included -def book_mini(request, pk, with_link=True): - # book = get_object_or_404(Book, pk=pk) - try: - book = Book.objects.only('cover_thumb', 'title', 'language', 'slug').get(pk=pk) - except Book.DoesNotExist: - raise Http404 - return render(request, 'catalogue/book_mini_box.html', { - 'book': book, - 'no_link': not with_link, - }) - - @ssi_included(get_ssi_vars=lambda pk: (lambda ipk: ( ('ssify.get_csrf_token',), ('social_tags.likes_book', (ipk,)),