From faceca7075d72d55f0eebc586049fb634cd46129 Mon Sep 17 00:00:00 2001 From: Russell Keith-Magee Date: Sun, 11 Apr 2010 08:35:04 +0000 Subject: 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 --- django/contrib/admin/helpers.py | 13 +++++++++---- django/contrib/admin/templatetags/admin_list.py | 1 - django/contrib/admin/util.py | 5 +++-- 3 files changed, 12 insertions(+), 7 deletions(-) (limited to 'django') diff --git a/django/contrib/admin/helpers.py b/django/contrib/admin/helpers.py index c38023b6fd..52d01839cc 100644 --- a/django/contrib/admin/helpers.py +++ b/django/contrib/admin/helpers.py @@ -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__ != '' 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('%(contents)s' % { "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) diff --git a/django/contrib/admin/templatetags/admin_list.py b/django/contrib/admin/templatetags/admin_list.py index b1ab7d543c..3f0b9c6360 100644 --- a/django/contrib/admin/templatetags/admin_list.py +++ b/django/contrib/admin/templatetags/admin_list.py @@ -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) diff --git a/django/contrib/admin/util.py b/django/contrib/admin/util.py index f727626a03..776a6f0f42 100644 --- a/django/contrib/admin/util.py +++ b/django/contrib/admin/util.py @@ -1,5 +1,6 @@ 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__ == "": label = "--" else: - label = attr.__name__ + label = pretty_name(attr.__name__) else: - label = name + label = pretty_name(name) if return_attr: return (label, attr) else: -- cgit v1.3