diff --git a/django/contrib/admin/templates/admin/filter.html b/django/contrib/admin/templates/admin/filter.html new file mode 100644 index 0000000000..e79a14a2ce --- /dev/null +++ b/django/contrib/admin/templates/admin/filter.html @@ -0,0 +1,7 @@ +

{%blocktrans%} By {{title}} {%endblocktrans%}

+ \ No newline at end of file diff --git a/django/contrib/admin/templates/admin/filters.html b/django/contrib/admin/templates/admin/filters.html index 844571f08a..e3a34655d7 100644 --- a/django/contrib/admin/templates/admin/filters.html +++ b/django/contrib/admin/templates/admin/filters.html @@ -1,5 +1,5 @@ {% if cl.has_filters %}

Filter

{% for spec in cl.filter_specs %} - {% output_filter_spec cl spec %} + {% filter cl spec %} {% endfor %}
{% endif %} \ No newline at end of file diff --git a/django/contrib/admin/templates/admin/template_debug.html b/django/contrib/admin/templates/admin/template_debug.html index 55569e539a..779d571e54 100644 --- a/django/contrib/admin/templates/admin/template_debug.html +++ b/django/contrib/admin/templates/admin/template_debug.html @@ -4,8 +4,8 @@

Error in Template

-{{message}}
-{{traceback}}
+{{message|escape}}
+{{traceback|escape}}
 
{%if top%} diff --git a/django/contrib/admin/templatetags/admin_list.py b/django/contrib/admin/templatetags/admin_list.py index ea1b7bf619..3f155564c0 100644 --- a/django/contrib/admin/templatetags/admin_list.py +++ b/django/contrib/admin/templatetags/admin_list.py @@ -209,8 +209,6 @@ def items_for_result(cl, result): else: yield ('%s' % (row_class, result_repr)) - - def results(cl): for res in cl.result_list: yield list(items_for_result(cl,res)) @@ -224,7 +222,6 @@ def result_list(cl): result_list = inclusion_tag("admin/change_list_results")(result_list) - #@simple_tag def date_hierarchy(cl): lookup_opts, params, lookup_params, lookup_mod = \ @@ -278,10 +275,11 @@ def search_form(cl): 'search_var': SEARCH_VAR } search_form = inclusion_tag('admin/search_form')(search_form) -#@simple_tag -def output_filter_spec(cl, spec): - return spec.output(cl) -output_filter_spec = simple_tag(output_filter_spec) +#@inclusion_tag('admin/filter') +def filter(cl, spec): + return {'title': spec.title(), + 'choices' : list(spec.choices(cl))} +filter = inclusion_tag('admin/filter')(filter) #@inclusion_tag('admin/filters') def filters(cl): diff --git a/django/contrib/admin/views/main.py b/django/contrib/admin/views/main.py index 4694f8912d..7f0c5c5906 100644 --- a/django/contrib/admin/views/main.py +++ b/django/contrib/admin/views/main.py @@ -72,21 +72,26 @@ class FilterSpec(object): def has_output(self): return True + def choices(self, cl): + raise NotImplementedException() + + def title(self): + return self.field.verbose_name + def output(self, cl): t = [] if self.has_output(): - t.append(_('

By %s:

\n