Commit 77192eb6 authored by Jannis Leidel's avatar Jannis Leidel
Browse files

[1.1.X] Fixed #12716 - Typo in the admin change list template. Thanks, kbrownlees.

Backport of r12398 and r12448.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@12453 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent df1ad561
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@
        <p class="errornote">
        {% blocktrans count cl.formset.errors|length as counter %}Please correct the error below.{% plural %}Please correct the errors below.{% endblocktrans %}
        </p>
        <ul class="errorlist">{% for error in cl.formset.non_field_errors %}<li>{{ error }}</li>{% endfor %}</ul>
        <ul class="errorlist">{% for error in cl.formset.non_form_errors %}<li>{{ error }}</li>{% endfor %}</ul>
    {% endif %}
    <div class="module{% if cl.has_filters %} filtered{% endif %}" id="changelist">
      {% block search %}{% search_form cl %}{% endblock %}
+14 −0
Original line number Diff line number Diff line
@@ -5,6 +5,8 @@ from django.core.files.storage import FileSystemStorage
from django.db import models
from django.contrib import admin
from django.core.mail import EmailMessage
from django import forms
from django.forms.models import BaseModelFormSet

class Section(models.Model):
    """
@@ -168,6 +170,14 @@ class Person(models.Model):
    class Meta:
        ordering = ["id"]

class BasePersonModelFormSet(BaseModelFormSet):
    def clean(self):
        for person_dict in self.cleaned_data:
            person = person_dict.get('id')
            alive = person_dict.get('alive')
            if person and alive and person.name == "Grace Hopper":
                raise forms.ValidationError, "Grace is not a Zombie"

class PersonAdmin(admin.ModelAdmin):
    list_display = ('name', 'gender', 'alive')
    list_editable = ('gender', 'alive')
@@ -176,6 +186,10 @@ class PersonAdmin(admin.ModelAdmin):
    ordering = ["id"]
    save_as = True

    def get_changelist_formset(self, request, **kwargs):
        return super(PersonAdmin, self).get_changelist_formset(request,
            formset=BasePersonModelFormSet, **kwargs)

class Persona(models.Model):
    """
    A simple persona associated with accounts, to test inlining of related
+13 −1
Original line number Diff line number Diff line
@@ -921,7 +921,6 @@ class AdminViewListEditable(TestCase):
            "form-2-id": "3",
        }
        self.client.post('/test_admin/admin/admin_views/person/', data)

        self.failUnlessEqual(Person.objects.get(name="John Mauchly").alive, False)
        self.failUnlessEqual(Person.objects.get(name="Grace Hopper").gender, 2)

@@ -954,6 +953,19 @@ class AdminViewListEditable(TestCase):

        self.failUnlessEqual(Person.objects.get(name="John Mauchly").alive, False)

    def test_non_form_errors(self):
        # test if non-form errors are handled; ticket #12716
        data = {
            "form-TOTAL_FORMS": "1",
            "form-INITIAL_FORMS": "1",

            "form-0-id": "2",
            "form-0-alive": "1",
            "form-0-gender": "2",
        }
        response = self.client.post('/test_admin/admin/admin_views/person/', data)
        self.assertContains(response, "Grace is not a Zombie")

    def test_list_editable_ordering(self):
        collector = Collector.objects.create(id=1, name="Frederick Clegg")