From dbbd2b1272e5a3ce7ab4b39b9a74f4ea725b104f Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Fri, 26 Jul 2013 14:43:46 -0400 Subject: [PATCH] [1.6.x] Fixed #20805 -- Removed an extra colon beside checkboxes in the admin. Thanks CollinAnderson for the report. Backport of 8676318d2d from master --- django/contrib/admin/helpers.py | 8 +++++--- django/forms/forms.py | 9 ++++++--- docs/ref/forms/api.txt | 15 ++++++++++++++- docs/releases/1.6.txt | 4 +++- tests/admin_util/tests.py | 4 ++-- tests/forms_tests/tests/test_forms.py | 10 ++++++++++ 6 files changed, 40 insertions(+), 10 deletions(-) diff --git a/django/contrib/admin/helpers.py b/django/contrib/admin/helpers.py index 3ffb85e6c6..b6d5bde932 100644 --- a/django/contrib/admin/helpers.py +++ b/django/contrib/admin/helpers.py @@ -125,14 +125,16 @@ class AdminField(object): contents = conditional_escape(force_text(self.field.label)) if self.is_checkbox: classes.append('vCheckboxLabel') - else: - contents += ':' + if self.field.field.required: classes.append('required') if not self.is_first: classes.append('inline') attrs = {'class': ' '.join(classes)} if classes else {} - return self.field.label_tag(contents=mark_safe(contents), attrs=attrs) + # checkboxes should not have a label suffix as the checkbox appears + # to the left of the label. + return self.field.label_tag(contents=mark_safe(contents), attrs=attrs, + label_suffix='' if self.is_checkbox else None) def errors(self): return mark_safe(self.field.errors.as_ul()) diff --git a/django/forms/forms.py b/django/forms/forms.py index 6c062bed0f..10ae1248da 100644 --- a/django/forms/forms.py +++ b/django/forms/forms.py @@ -509,20 +509,23 @@ class BoundField(object): ) return self.field.prepare_value(data) - def label_tag(self, contents=None, attrs=None): + def label_tag(self, contents=None, attrs=None, label_suffix=None): """ Wraps the given contents in a