Skip to content

Commit

Permalink
Do not capfirst form field labels in Python, but use CSS
Browse files Browse the repository at this point in the history
  • Loading branch information
sergei-maertens committed Jan 31, 2016
1 parent c79852a commit 2f3c1d8
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 8 deletions.
2 changes: 1 addition & 1 deletion django/contrib/admin/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ def label_tag(self):
label = self.field['label']
return format_html('<label{}>{}:</label>',
flatatt(attrs),
capfirst(force_text(label)))
force_text(label))

def contents(self):
from django.contrib.admin.templatetags.admin_list import _boolean_icon
Expand Down
4 changes: 4 additions & 0 deletions django/contrib/admin/static/admin/css/forms.css
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ label {
font-size: 13px;
}

label::first-letter {
text-transform: capitalize;
}

.required label, label.required {
font-weight: bold;
color: #333;
Expand Down
3 changes: 1 addition & 2 deletions django/contrib/auth/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
from django.utils.html import format_html, format_html_join
from django.utils.http import urlsafe_base64_encode
from django.utils.safestring import mark_safe
from django.utils.text import capfirst
from django.utils.translation import ugettext, ugettext_lazy as _


Expand Down Expand Up @@ -155,7 +154,7 @@ def __init__(self, request=None, *args, **kwargs):
UserModel = get_user_model()
self.username_field = UserModel._meta.get_field(UserModel.USERNAME_FIELD)
if self.fields['username'].label is None:
self.fields['username'].label = capfirst(self.username_field.verbose_name)
self.fields['username'].label = self.username_field.verbose_name

def clean(self):
username = self.cleaned_data.get('username')
Expand Down
5 changes: 2 additions & 3 deletions django/db/models/fields/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
from django.utils.functional import Promise, cached_property, curry
from django.utils.ipv6 import clean_ipv6_address
from django.utils.itercompat import is_iterable
from django.utils.text import capfirst
from django.utils.translation import ugettext_lazy as _

# Avoid "TypeError: Item in ``from list'' not a string" -- unicode_literals
Expand Down Expand Up @@ -877,7 +876,7 @@ def formfield(self, form_class=None, choices_form_class=None, **kwargs):
Returns a django.forms.Field instance for this database Field.
"""
defaults = {'required': not self.blank,
'label': capfirst(self.verbose_name),
'label': self.verbose_name,
'help_text': self.help_text}
if self.has_default():
if callable(self.default):
Expand Down Expand Up @@ -2087,7 +2086,7 @@ def formfield(self, **kwargs):
defaults = {
'form_class': forms.NullBooleanField,
'required': not self.blank,
'label': capfirst(self.verbose_name),
'label': self.verbose_name,
'help_text': self.help_text}
defaults.update(kwargs)
return super(NullBooleanField, self).formfield(**defaults)
Expand Down
4 changes: 2 additions & 2 deletions django/forms/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
)
from django.utils import six
from django.utils.encoding import force_text, smart_text
from django.utils.text import capfirst, get_text_list
from django.utils.text import get_text_list
from django.utils.translation import ugettext, ugettext_lazy as _

__all__ = (
Expand Down Expand Up @@ -926,7 +926,7 @@ def add_fields(self, form, index):
# Model field to get the label, since we need that for error messages.
name = self.fk.name
kwargs = {
'label': getattr(form.fields.get(name), 'label', capfirst(self.fk.verbose_name))
'label': getattr(form.fields.get(name), 'label', self.fk.verbose_name)
}
if self.fk.remote_field.field_name != self.fk.remote_field.model._meta.pk.name:
kwargs['to_field'] = self.fk.remote_field.field_name
Expand Down

0 comments on commit 2f3c1d8

Please sign in to comment.