Fixed #19226 -- Applied linebreaksbr to read-only fields in admin

Thanks shadow for the report, and Melevir and thiderman for the
patch.
This commit is contained in:
Claude Paroz 2012-11-17 17:06:24 +01:00
parent 8c69278764
commit ec9d6b1122
3 changed files with 13 additions and 2 deletions

View File

@ -14,7 +14,7 @@
{% else %}
{{ field.label_tag }}
{% if field.is_readonly %}
<p>{{ field.contents }}</p>
<p>{{ field.contents|linebreaksbr }}</p>
{% else %}
{{ field.field }}
{% endif %}

View File

@ -388,7 +388,10 @@ class PrePopulatedPostAdmin(admin.ModelAdmin):
class PostAdmin(admin.ModelAdmin):
list_display = ['title', 'public']
readonly_fields = ('posted', 'awesomeness_level', 'coolness', 'value', lambda obj: "foo")
readonly_fields = (
'posted', 'awesomeness_level', 'coolness', 'value', 'multiline',
lambda obj: "foo"
)
inlines = [
LinkInline
@ -402,6 +405,10 @@ class PostAdmin(admin.ModelAdmin):
def value(self, instance):
return 1000
def multiline(self, instance):
return "Multiline\ntest\nstring"
value.short_description = 'Value in $US'

View File

@ -3149,6 +3149,10 @@ class ReadonlyTest(TestCase):
self.assertContains(response, "Very awesome.")
self.assertContains(response, "Unkown coolness.")
self.assertContains(response, "foo")
# Checks that multiline text in a readonly field gets <br /> tags
self.assertContains(response, "Multiline<br />test<br />string")
self.assertContains(response,
formats.localize(datetime.date.today() - datetime.timedelta(days=7))
)