summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2012-02-09 18:59:05 +0000
committerJannis Leidel <jannis@leidel.info>2012-02-09 18:59:05 +0000
commit4dbeb4bca4638ff851a2f4844d262dbe1652f7b5 (patch)
tree219211a0fed93719262c6c8aa7c3b03085742824 /django
parent875a5ea8d47c2c10432572fec788a81217073a4f (diff)
Fixed #17515 -- Added ability to override the template of custom admin FilterSpec classes. Thanks, saxix and Julien Phalip.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17483 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/filters.py1
-rw-r--r--django/contrib/admin/templatetags/admin_list.py12
2 files changed, 10 insertions, 3 deletions
diff --git a/django/contrib/admin/filters.py b/django/contrib/admin/filters.py
index b2d74ce671..550683bdd9 100644
--- a/django/contrib/admin/filters.py
+++ b/django/contrib/admin/filters.py
@@ -17,6 +17,7 @@ from django.contrib.admin.util import (get_model_from_relation,
class ListFilter(object):
title = None # Human-readable title to appear in the right sidebar.
+ template = 'admin/filter.html'
def __init__(self, request, params, model, model_admin):
# This dictionary will eventually contain the request's query string
diff --git a/django/contrib/admin/templatetags/admin_list.py b/django/contrib/admin/templatetags/admin_list.py
index ba3d1329ad..e778429e90 100644
--- a/django/contrib/admin/templatetags/admin_list.py
+++ b/django/contrib/admin/templatetags/admin_list.py
@@ -13,7 +13,8 @@ from django.utils.text import capfirst
from django.utils.translation import ugettext as _
from django.utils.encoding import smart_unicode, force_unicode
from django.template import Library
-
+from django.template.loader import get_template
+from django.template.context import Context
register = Library()
@@ -360,9 +361,14 @@ def search_form(cl):
'search_var': SEARCH_VAR
}
-@register.inclusion_tag('admin/filter.html')
+@register.simple_tag
def admin_list_filter(cl, spec):
- return {'title': spec.title, 'choices' : list(spec.choices(cl))}
+ tpl = get_template(spec.template)
+ return tpl.render(Context({
+ 'title': spec.title,
+ 'choices' : list(spec.choices(cl)),
+ 'spec': spec,
+ }))
@register.inclusion_tag('admin/actions.html', takes_context=True)
def admin_actions(context):