Commit faceca70 authored by Russell Keith-Magee's avatar Russell Keith-Magee
Browse files

Fixed #13301 -- Corrected problem with capitalization of changelist row...

Fixed #13301 -- Corrected problem with capitalization of changelist row headers in admin. Thanks to emyller for the report.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12947 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent f4c76fb6
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ from django.core.exceptions import ObjectDoesNotExist
from django.db.models.fields import FieldDoesNotExist
from django.db.models.fields.related import ManyToManyRel
from django.forms.util import flatatt
from django.template.defaultfilters import capfirst
from django.utils.encoding import force_unicode, smart_unicode
from django.utils.html import escape, conditional_escape
from django.utils.safestring import mark_safe
@@ -132,8 +133,12 @@ class AdminReadonlyField(object):
        # Make self.field look a little bit like a field. This means that
        # {{ field.name }} must be a useful class name to identify the field.
        # For convenience, store other field-related data here too.
        if callable(field):
            class_name = field.__name__ != '<lambda>' and field.__name__ or ''
        else:
            class_name = field
        self.field = {
            'name': force_unicode(label != '--' and label or ''),
            'name': class_name,
            'label': label,
            'field': field,
        }
@@ -147,8 +152,8 @@ class AdminReadonlyField(object):
        attrs = {}
        if not self.is_first:
            attrs["class"] = "inline"
        label = forms.forms.pretty_name(self.field['label'])
        contents = force_unicode(escape(label)) + u":"
        label = self.field['label']
        contents = capfirst(force_unicode(escape(label))) + u":"
        return mark_safe('<label%(attrs)s>%(contents)s</label>' % {
            "attrs": flatatt(attrs),
            "contents": contents,
@@ -213,7 +218,7 @@ class InlineAdminFormSet(object):
                continue
            if field in self.readonly_fields:
                label = label_for_field(field, self.opts.model, self.model_admin)
                yield (False, forms.forms.pretty_name(label))
                yield (False, label)
            else:
                field = self.formset.form.base_fields[field]
                yield (field.widget.is_hidden, field.label)
+0 −1
Original line number Diff line number Diff line
@@ -88,7 +88,6 @@ def result_headers(cl):
                    "class_attrib": mark_safe(' class="action-checkbox-column"')
                }
                continue
            header = pretty_name(header)

            # It is a non-field, but perhaps one that is sortable
            admin_order_field = getattr(attr, "admin_order_field", None)
+3 −2
Original line number Diff line number Diff line
from django.core.exceptions import ObjectDoesNotExist
from django.db import models
from django.forms.forms import pretty_name
from django.utils import formats
from django.utils.html import escape
from django.utils.safestring import mark_safe
@@ -303,9 +304,9 @@ def label_for_field(name, model, model_admin=None, return_attr=False):
                if attr.__name__ == "<lambda>":
                    label = "--"
                else:
                    label = attr.__name__
                    label = pretty_name(attr.__name__)
            else:
                label = name
                label = pretty_name(name)
    if return_attr:
        return (label, attr)
    else:
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ class Article(models.Model):

    def test_from_model_with_override(self):
        return "nothing"
    test_from_model_with_override.short_description = "not what you expect"
    test_from_model_with_override.short_description = "not What you Expect"

class Count(models.Model):
    num = models.PositiveSmallIntegerField()
+10 −9
Original line number Diff line number Diff line
@@ -179,24 +179,24 @@ class UtilTests(unittest.TestCase):
            return "nothing"
        self.assertEquals(
            label_for_field(test_callable, Article),
            "test_callable"
            "Test callable"
        )
        self.assertEquals(
            label_for_field(test_callable, Article, return_attr=True),
            ("test_callable", test_callable)
            ("Test callable", test_callable)
        )

        self.assertEquals(
            label_for_field("test_from_model", Article),
            "test_from_model"
            "Test from model"
        )
        self.assertEquals(
            label_for_field("test_from_model", Article, return_attr=True),
            ("test_from_model", Article.test_from_model)
            ("Test from model", Article.test_from_model)
        )
        self.assertEquals(
            label_for_field("test_from_model_with_override", Article),
            "not what you expect"
            "not What you Expect"
        )

        self.assertEquals(
@@ -207,15 +207,16 @@ class UtilTests(unittest.TestCase):
        class MockModelAdmin(object):
            def test_from_model(self, obj):
                return "nothing"
            test_from_model.short_description = "not really the model"
            test_from_model.short_description = "not Really the Model"

        self.assertEquals(
            label_for_field("test_from_model", Article, model_admin=MockModelAdmin),
            "not really the model"
            "not Really the Model"
        )
        self.assertEquals(
            label_for_field("test_from_model", Article,
                model_admin = MockModelAdmin,
                return_attr = True
            ),
            ("not really the model", MockModelAdmin.test_from_model)
            ("not Really the Model", MockModelAdmin.test_from_model)
        )
Loading