Fixed #30221 -- Made label suffix of admin's read-only fields translatable.

This commit is contained in:
Etienne Chové 2019-02-28 08:49:17 +01:00 committed by Tim Graham
parent 25e724a5d6
commit 4dcbe6eb2d
2 changed files with 8 additions and 1 deletions

View File

@ -187,7 +187,7 @@ class AdminReadonlyField:
if not self.is_first: if not self.is_first:
attrs["class"] = "inline" attrs["class"] = "inline"
label = self.field['label'] label = self.field['label']
return format_html('<label{}>{}:</label>', flatatt(attrs), capfirst(label)) return format_html('<label{}>{}{}</label>', flatatt(attrs), capfirst(label), self.form.label_suffix)
def contents(self): def contents(self):
from django.contrib.admin.templatetags.admin_list import _boolean_icon from django.contrib.admin.templatetags.admin_list import _boolean_icon

View File

@ -4961,6 +4961,13 @@ class ReadonlyTest(AdminFieldExtractionMixin, TestCase):
self.assertNotContains(response, "<a>evil</a>", status_code=200) self.assertNotContains(response, "<a>evil</a>", status_code=200)
self.assertContains(response, "&lt;a&gt;evil&lt;/a&gt;", status_code=200) self.assertContains(response, "&lt;a&gt;evil&lt;/a&gt;", status_code=200)
def test_label_suffix_translated(self):
pizza = Pizza.objects.create(name='Americano')
url = reverse('admin:admin_views_pizza_change', args=(pizza.pk,))
with self.settings(LANGUAGE_CODE='fr'):
response = self.client.get(url)
self.assertContains(response, '<label>Toppings\u00A0:</label>', html=True)
@override_settings(ROOT_URLCONF='admin_views.urls') @override_settings(ROOT_URLCONF='admin_views.urls')
class LimitChoicesToInAdminTest(TestCase): class LimitChoicesToInAdminTest(TestCase):