X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/01e3154575d718ae51e55e7ea8d064718e7d0037..6c81c82481a5407bc6e4f3c5cdd16baedbc2a523:/src/wiki/views.py diff --git a/src/wiki/views.py b/src/wiki/views.py index 543a473c..29c389a7 100644 --- a/src/wiki/views.py +++ b/src/wiki/views.py @@ -18,6 +18,7 @@ from django.utils.formats import localize from django.utils.translation import gettext as _ from django.views.decorators.http import require_POST, require_GET from django.shortcuts import get_object_or_404, render +from sorl.thumbnail import get_thumbnail from documents.models import Book, Chunk from . import nice_diff @@ -231,14 +232,18 @@ def gallery(request, directory): def is_image(filename): return os.path.splitext(filename)[1].lower() in (u'.jpg', u'.jpeg', u'.png') - images = [map_to_url(f) for f in os.listdir(base_dir) if is_image(f)] - images.sort() - books = Book.objects.filter(gallery=directory) if not all(book.public for book in books) and not request.user.is_authenticated: return HttpResponseForbidden("Not authorized.") + images = [ + { + "url": map_to_url(f), + "thumb": get_thumbnail(os.path.join(base_dir, f), '120x120').url + } for f in sorted(os.listdir(base_dir)) if is_image(f) + ] + return JSONResponse(images) except (IndexError, OSError): logger.exception("Unable to fetch gallery") @@ -288,8 +293,15 @@ def history(request, chunk_id): if not doc.book.accessible(request): return HttpResponseForbidden("Not authorized.") + history = doc.history() + try: + before = int(request.GET.get('before')) + except: + pass + else: + history = history.filter(revision__lt=before) changes = [] - for change in doc.history().reverse(): + for change in history.reverse()[:20]: changes.append({ "version": change.revision, "description": change.description,