X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/cfc1eb85823b39e0f767909ccd3a9709a5fd0ec2..239fd9a073f8af8ca67aa050e8a34a843e53e0c2:/apps/catalogue/views.py diff --git a/apps/catalogue/views.py b/apps/catalogue/views.py index 16d11746..74036f0d 100644 --- a/apps/catalogue/views.py +++ b/apps/catalogue/views.py @@ -26,7 +26,6 @@ from catalogue import forms from catalogue import helpers from catalogue.helpers import active_tab from catalogue.models import Book, Chunk, BookPublishRecord, ChunkPublishRecord -from catalogue.tasks import publishable_error # # Quick hack around caching problems, TODO: use ETags @@ -303,7 +302,7 @@ def book(request, slug): form = forms.ReadonlyBookForm(instance=book) editable = False - publish_error = publishable_error(book) + publish_error = book.publishable_error() publishable = publish_error is None return direct_to_template(request, "catalogue/book_detail.html", extra_context={ @@ -414,6 +413,21 @@ def chunk_mass_edit(request): for c in chunks: c.user = user + status = request.POST.get('status') + if status: + books_affected = set() + for c in chunks: + if status == 'publish': + c.head.publishable = True + c.head.save() + elif status == 'unpublish': + c.head.publishable = False + c.head.save() + c.touch() # cache + books_affected.add(c.book) + for b in books_affected: + b.touch() # cache + for c in chunks: c.save() return HttpResponse("", content_type="text/plain")