Permalink
Browse files

[1.1.X] Fixed #11949 -- Added a hook to allow ModelAdmin customizatio…

…n 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
  • Loading branch information...
1 parent 0d6a776 commit c01735dee7dd590963c0305a2f2c904cd6cdefc2 @freakboy3742 freakboy3742 committed Apr 5, 2010
View
2 django/contrib/admin/actions.py
@@ -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
1 django/contrib/admin/options.py
@@ -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
9 docs/ref/contrib/admin/index.txt
@@ -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
1 tests/regressiontests/admin_views/models.py
@@ -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
6 tests/regressiontests/admin_views/tests.py
@@ -579,6 +579,12 @@ def testCustomModelAdminTemplates(self):
# 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')

0 comments on commit c01735d

Please sign in to comment.