summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2009-12-18 10:08:05 +0000
committerJannis Leidel <jannis@leidel.info>2009-12-18 10:08:05 +0000
commitca2d64788d74ea86d4e462d3e58311dc651ee5e0 (patch)
tree437511ce2ae8b3df6ab80dd3824d0eb58534af77 /django
parenta2ef46316c492cc2c4b2e28bbbf73db3ebc29e1e (diff)
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
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/options.py10
1 files changed, 9 insertions, 1 deletions
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)