diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2011-02-20 13:43:52 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2011-02-20 13:43:52 +0000 |
| commit | 674062c355b1acdc49c2b0cf2ba0d23e0eb8371c (patch) | |
| tree | 77d247369f74bd03271054416a263934baa66174 | |
| parent | 1073a83f2ceb330c80da275c0709786a7a84c513 (diff) | |
Tweaked the changes from changeset r15580 so as to avoid introducing a backwards incompatible context change to the change_list_results template. Refs #13126. Thanks to Sean Brant for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15593 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/contrib/admin/templates/admin/change_list_results.html | 4 | ||||
| -rw-r--r-- | django/contrib/admin/templatetags/admin_list.py | 13 |
2 files changed, 13 insertions, 4 deletions
diff --git a/django/contrib/admin/templates/admin/change_list_results.html b/django/contrib/admin/templates/admin/change_list_results.html index 29cf265804..6cfd9aff8e 100644 --- a/django/contrib/admin/templates/admin/change_list_results.html +++ b/django/contrib/admin/templates/admin/change_list_results.html @@ -17,9 +17,9 @@ <tbody> {% for result in results %} {% if result.form.non_field_errors %} - <tr><td colspan="{{ result.row|length }}">{{ result.form.non_field_errors }}</td></tr> + <tr><td colspan="{{ result|length }}">{{ result.form.non_field_errors }}</td></tr> {% endif %} -<tr class="{% cycle 'row1' 'row2' %}">{% for item in result.row %}{{ item }}{% endfor %}</tr> +<tr class="{% cycle 'row1' 'row2' %}">{% for item in result %}{{ item }}{% endfor %}</tr> {% endfor %} </tbody> </table> diff --git a/django/contrib/admin/templatetags/admin_list.py b/django/contrib/admin/templatetags/admin_list.py index 199b1d97a3..7d4d8cdc98 100644 --- a/django/contrib/admin/templatetags/admin_list.py +++ b/django/contrib/admin/templatetags/admin_list.py @@ -195,13 +195,22 @@ def items_for_result(cl, result, form): if form and not form[cl.model._meta.pk.name].is_hidden: yield mark_safe(u'<td>%s</td>' % force_unicode(form[cl.model._meta.pk.name])) +class ResultList(list): + # Wrapper class used to return items in a list_editable + # changelist, annotated with the form object for error + # reporting purposes. Needed to maintain backwards + # compatibility with existing admin templates. + def __init__(self, form, *items): + self.form = form + super(ResultList, self).__init__(*items) + def results(cl): if cl.formset: for res, form in zip(cl.result_list, cl.formset.forms): - yield {'row': list(items_for_result(cl, res, form)), 'form': form} + yield ResultList(form, items_for_result(cl, res, form)) else: for res in cl.result_list: - yield {'row': list(items_for_result(cl, res, None)), 'form': None} + yield ResultList(None, items_for_result(cl, res, None)) def result_hidden_fields(cl): if cl.formset: |
