X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/8e8b2c44fc1345b2b4ae2806f2ef5f2187d760c0..e0f595e44766e352edfce0aaf5d32be57f448882:/src/wiki/views.py diff --git a/src/wiki/views.py b/src/wiki/views.py index 29c389a7..26f031be 100644 --- a/src/wiki/views.py +++ b/src/wiki/views.py @@ -21,6 +21,7 @@ from django.shortcuts import get_object_or_404, render from sorl.thumbnail import get_thumbnail from documents.models import Book, Chunk +import sources.models from . import nice_diff from wiki import forms from wiki.helpers import (JSONResponse, JSONFormInvalid, JSONServerError, @@ -250,6 +251,19 @@ def gallery(request, directory): raise http.Http404 +@never_cache +def scans_list(request, pk): + bs = get_object_or_404(sources.models.BookSource, pk=pk) + def map_to_url(filename): + return quote(("%s/%s" % (settings.MEDIA_URL, filename))) + images = [ + { + "url": map_to_url(f), + } for f in bs.get_view_files() + ] + return JSONResponse(images) + + @never_cache def diff(request, chunk_id): revA = int(request.GET.get('from', 0)) @@ -337,6 +351,36 @@ def pubmark(request, chunk_id): return JSONFormInvalid(form) +@require_POST +@ajax_require_permission('documents.book_edit') +def set_gallery(request, chunk_id): + doc = get_object_or_404(Chunk, pk=chunk_id) + book = doc.book + book.gallery = request.POST['gallery'] + book.save(update_fields=['gallery']) + return JSONResponse({}) + +@require_POST +@ajax_require_permission('documents.chunk_edit') +def set_gallery_start(request, chunk_id): + doc = get_object_or_404(Chunk, pk=chunk_id) + doc.gallery_start = request.POST['start'] + doc.save(update_fields=['gallery_start']) + return JSONResponse({}) + +@ajax_require_permission('documents.chunk_edit') +def galleries(request): + return JSONResponse( + sorted( + os.listdir( + os.path.join( + settings.MEDIA_ROOT, + settings.IMAGE_DIR, + ) + ) + ) + ) + def themes(request): prefix = request.GET.get('q', '') return http.HttpResponse('\n'.join([str(t) for t in Theme.objects.filter(name__istartswith=prefix)]))