Fixed #12962: Made admin delete action work again. Thanks ptone, skevy, mlavin and anyone else I've missed.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12813 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Karen Tracey 2010-03-20 14:53:17 +00:00
parent 4f98a7c45f
commit 4528f39886
2 changed files with 3 additions and 8 deletions

View File

@ -698,10 +698,6 @@ class ModelAdmin(BaseModelAdmin):
changelist; it returns an HttpResponse if the action was handled, and changelist; it returns an HttpResponse if the action was handled, and
None otherwise. None otherwise.
""" """
if 'index' not in request.POST:
# If "Go" was not pushed then we can assume the POST was for
# an inline edit save and we do not need to validate the form.
return None
# There can be multiple action forms on the page (at the top # There can be multiple action forms on the page (at the top
# and bottom of the change list, for example). Get the action # and bottom of the change list, for example). Get the action
@ -978,9 +974,9 @@ class ModelAdmin(BaseModelAdmin):
return HttpResponseRedirect(request.path + '?' + ERROR_FLAG + '=1') return HttpResponseRedirect(request.path + '?' + ERROR_FLAG + '=1')
# If the request was POSTed, this might be a bulk action or a bulk edit. # If the request was POSTed, this might be a bulk action or a bulk edit.
# Try to look up an action first, but if this isn't an action the POST # Try to look up an action or confirmation first, but if this isn't an
# will fall through to the bulk edit check, below. # action the POST will fall through to the bulk edit check, below.
if actions and request.method == 'POST': if actions and request.method == 'POST' and (helpers.ACTION_CHECKBOX_NAME in request.POST or 'index' in request.POST):
response = self.response_action(request, queryset=cl.get_query_set()) response = self.response_action(request, queryset=cl.get_query_set())
if response: if response:
return response return response

View File

@ -1340,7 +1340,6 @@ class AdminActionsTest(TestCase):
delete_confirmation_data = { delete_confirmation_data = {
ACTION_CHECKBOX_NAME: [1, 2], ACTION_CHECKBOX_NAME: [1, 2],
'action' : 'delete_selected', 'action' : 'delete_selected',
'index': 0,
'post': 'yes', 'post': 'yes',
} }
confirmation = self.client.post('/test_admin/admin/admin_views/subscriber/', action_data) confirmation = self.client.post('/test_admin/admin/admin_views/subscriber/', action_data)