From ca2d64788d74ea86d4e462d3e58311dc651ee5e0 Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Fri, 18 Dec 2009 10:08:05 +0000 Subject: Fixed #9749 - Added hook to ModelAdmin for specifying custom ChangeLists. Thanks to David Larlet and Eric Florenzano. git-svn-id: http://code.djangoproject.com/svn/django/trunk@11910 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/contrib/admin/options.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'django') diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index c9d4f33884..2b34d7f395 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -351,6 +351,13 @@ class ModelAdmin(BaseModelAdmin): defaults.update(kwargs) return modelform_factory(self.model, **defaults) + def get_changelist(self, request, **kwargs): + """ + Returns the ChangeList class for use on the changelist page. + """ + from django.contrib.admin.views.main import ChangeList + return ChangeList + def get_changelist_form(self, request, **kwargs): """ Returns a Form class for use in the Formset on the changelist page. @@ -888,7 +895,7 @@ class ModelAdmin(BaseModelAdmin): @csrf_protect def changelist_view(self, request, extra_context=None): "The 'change list' admin view for this model." - from django.contrib.admin.views.main import ChangeList, ERROR_FLAG + from django.contrib.admin.views.main import ERROR_FLAG opts = self.model._meta app_label = opts.app_label if not self.has_change_permission(request, None): @@ -905,6 +912,7 @@ class ModelAdmin(BaseModelAdmin): except ValueError: pass + ChangeList = self.get_changelist(request) try: cl = ChangeList(request, self.model, list_display, self.list_display_links, self.list_filter, self.date_hierarchy, self.search_fields, self.list_select_related, self.list_per_page, self.list_editable, self) -- cgit v1.3