Ignore requests with wrong data, e.g. {u'indexes': [u'34,32,35,1,,33,7,5,3,29,27,4,11,14,13,31']}

master
A.Sichkar 2013-10-31 14:54:28 +02:00
parent 0361755256
commit b79e806961
1 changed files with 4 additions and 3 deletions

View File

@ -216,6 +216,8 @@ class SortableAdmin(SortableAdminBase, ModelAdmin):
This view sets the ordering of the objects for the model type This view sets the ordering of the objects for the model type
and primary keys passed in. It must be an Ajax POST. and primary keys passed in. It must be an Ajax POST.
""" """
response = {'objects_sorted': False}
if request.is_ajax() and request.method == 'POST': if request.is_ajax() and request.method == 'POST':
try: try:
indexes = list(map(str, request.POST.get('indexes', []).split(','))) indexes = list(map(str, request.POST.get('indexes', []).split(',')))
@ -240,10 +242,9 @@ class SortableAdmin(SortableAdminBase, ModelAdmin):
obj.save() obj.save()
start_index += step start_index += step
response = {'objects_sorted': True} response = {'objects_sorted': True}
except (KeyError, IndexError, klass.DoesNotExist, AttributeError): except (KeyError, IndexError, klass.DoesNotExist, AttributeError, ValueError):
pass pass
else:
response = {'objects_sorted': False}
return HttpResponse(json.dumps(response, ensure_ascii=False), return HttpResponse(json.dumps(response, ensure_ascii=False),
mimetype='application/json') mimetype='application/json')