X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/967fdef6857fca9cddd9d18bcba97e75e66a2927..d7faec10cb85ad286673eec266ccc397142bc20c:/apps/catalogue/views.py?ds=sidebyside diff --git a/apps/catalogue/views.py b/apps/catalogue/views.py index d0213daa..f8ff5996 100644 --- a/apps/catalogue/views.py +++ b/apps/catalogue/views.py @@ -10,6 +10,7 @@ from django.contrib.auth.models import User from django.contrib.auth.decorators import login_required, permission_required from django.core.urlresolvers import reverse from django.db.models import Count, Q +from django.db import transaction from django import http from django.http import Http404, HttpResponse, HttpResponseForbidden from django.shortcuts import get_object_or_404, render, render_to_response @@ -387,6 +388,26 @@ def chunk_edit(request, slug, chunk): }) +@transaction.commit_on_success +def chunk_mass_edit(request): + if request.method == 'POST': + ids = map(int, request.POST.get('ids').split(',')) + chunks = map(lambda i: Chunk.objects.get(id=i), ids) + try: + stage = Chunk.tag_model.objects.get(slug=request.POST.get('stage')) + for c in chunks: c.stage = stage + except KeyError: pass + + try: + user = User.objects.get(username=request.POST.get('user')) + for c in chunks: c.user = user + except KeyError: pass + + for c in chunks: c.save() + else: + raise Http404 + + @permission_required('catalogue.change_book') def book_append(request, slug): book = get_object_or_404(Book, slug=slug)