Example #1
0
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
Example #2
0
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
Example #3
0
 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))
Example #4
0
 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))