def chapter_sort(request, story_id): """ Сортировка глав """ story = get_object_or_404(Story.objects.accessible(user=request.user), pk=story_id) if story.editable_by(request.user): new_order = unicode_to_int_list(request.POST.getlist('chapters[]')) if (not new_order or story.chapter_set.count() != len(new_order)): return HttpResponse('Bad request. Incorrect list!', status=400) else: for new_order_id, chapter_id in enumerate(new_order): chapter = Chapter.objects.get(pk=chapter_id) chapter.order = new_order_id+1 chapter.save(update_fields=['order']) return HttpResponse('Done') else: raise PermissionDenied
def chapter_sort(request, story_id): """ Сортировка глав """ story = get_object_or_404(Story.objects.accessible(user=request.user), pk=story_id) if story.editable_by(request.user): new_order = unicode_to_int_list(request.POST.getlist('chapters[]')) if (not new_order or story.chapter_set.count() != len(new_order)): return HttpResponse('Bad request. Incorrect list!', status=400) else: for new_order_id, chapter_id in enumerate(new_order): chapter = Chapter.objects.get(pk=chapter_id) chapter.order = new_order_id + 1 chapter.save(update_fields=['order']) return HttpResponse('Done') else: raise PermissionDenied
def to_python(self, value): if not value: return [] if isinstance(value, list): return unicode_to_int_list(value) return unicode_to_int_list(value.split(self.token))