Update librarian
[wolnelektury.git] / src / catalogue / views.py
index 6299cd1..fca48b9 100644 (file)
@@ -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.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
 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)
 def book_detail(request, slug):
     try:
         book = Book.objects.get(slug=slug)
@@ -356,15 +357,15 @@ def tag_info(request, tag_id):
 
 
 @never_cache
 
 
 @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
     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)
     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_])
 
 
     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,)),
 @ssi_included(get_ssi_vars=lambda pk: (lambda ipk: (
         ('ssify.get_csrf_token',),
         ('social_tags.likes_book', (ipk,)),