[1.1.X] Fixed #11949 -- Added a hook to allow ModelAdmin customization of the delete selected template. Thanks to bendavis78 for the report and patch, and Ramiro Morales for his cleanup work.

Backport of r12916 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@12917 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2010-04-05 12:08:45 +00:00
parent 0d6a776ccd
commit c01735dee7
5 changed files with 18 additions and 1 deletions

View File

@ -64,7 +64,7 @@ def delete_selected(modeladmin, request, queryset):
}
# Display the confirmation page
return render_to_response(modeladmin.delete_confirmation_template or [
return render_to_response(modeladmin.delete_selected_confirmation_template or [
"admin/%s/%s/delete_selected_confirmation.html" % (app_label, opts.object_name.lower()),
"admin/%s/delete_selected_confirmation.html" % app_label,
"admin/delete_selected_confirmation.html"

View File

@ -189,6 +189,7 @@ class ModelAdmin(BaseModelAdmin):
change_form_template = None
change_list_template = None
delete_confirmation_template = None
delete_selected_confirmation_template = None
object_history_template = None
# Actions

View File

@ -698,6 +698,15 @@ templates used by the :class:`ModelAdmin` views:
Path to a custom template, used by :meth:`delete_view` for displaying a
confirmation page when deleting one or more objects.
.. attribute:: ModelAdmin.delete_selected_confirmation_template
.. versionadded:: 1.1.2
Path to a custom template, used by the :meth:`delete_selected`
action method for displaying a confirmation page when deleting one
or more objects. See the :ref:`actions
documentation<ref-contrib-admin-actions>`.
.. attribute:: ModelAdmin.object_history_template
Path to a custom template, used by :meth:`history_view`.

View File

@ -115,6 +115,7 @@ class CustomArticleAdmin(admin.ModelAdmin):
change_form_template = 'custom_admin/change_form.html'
object_history_template = 'custom_admin/object_history.html'
delete_confirmation_template = 'custom_admin/delete_confirmation.html'
delete_selected_confirmation_template = 'custom_admin/delete_selected_confirmation.html'
def changelist_view(self, request):
"Test that extra_context works"

View File

@ -579,6 +579,12 @@ class AdminViewPermissionsTest(TestCase):
# Test custom delete and object history templates
request = self.client.get('/test_admin/admin/admin_views/customarticle/1/delete/')
self.assertTemplateUsed(request, 'custom_admin/delete_confirmation.html')
request = self.client.post('/test_admin/admin/admin_views/customarticle/', data={
'index': 0,
'action': ['delete_selected'],
'_selected_action': ['1'],
})
self.assertTemplateUsed(request, 'custom_admin/delete_selected_confirmation.html')
request = self.client.get('/test_admin/admin/admin_views/customarticle/1/history/')
self.assertTemplateUsed(request, 'custom_admin/object_history.html')