Kaydet (Commit) a2f7433a authored tarafından Artem Tabolin's avatar Artem Tabolin Kaydeden (comit) Tim Graham

Fixed #29221 -- Corrected admin's autocomplete widget to add a space after custom classes.

üst ba3078c9
...@@ -413,7 +413,7 @@ class AutocompleteMixin: ...@@ -413,7 +413,7 @@ class AutocompleteMixin:
'data-theme': 'admin-autocomplete', 'data-theme': 'admin-autocomplete',
'data-allow-clear': json.dumps(not self.is_required), 'data-allow-clear': json.dumps(not self.is_required),
'data-placeholder': '', # Allows clearing of the input. 'data-placeholder': '', # Allows clearing of the input.
'class': attrs['class'] + 'admin-autocomplete', 'class': attrs['class'] + (' ' if attrs['class'] else '') + 'admin-autocomplete',
}) })
return attrs return attrs
......
...@@ -14,3 +14,6 @@ Bugfixes ...@@ -14,3 +14,6 @@ Bugfixes
* Fixed admin autocomplete widget's translations for `zh-hans` and `zh-hant` * Fixed admin autocomplete widget's translations for `zh-hans` and `zh-hant`
languages (:ticket:`29213`). languages (:ticket:`29213`).
* Corrected admin's autocomplete widget to add a space after custom classes
(:ticket:`29221`).
...@@ -50,7 +50,7 @@ class AutocompleteMixinTests(TestCase): ...@@ -50,7 +50,7 @@ class AutocompleteMixinTests(TestCase):
form = AlbumForm() form = AlbumForm()
attrs = form['band'].field.widget.get_context(name='my_field', value=None, attrs={})['widget']['attrs'] attrs = form['band'].field.widget.get_context(name='my_field', value=None, attrs={})['widget']['attrs']
self.assertEqual(attrs, { self.assertEqual(attrs, {
'class': 'my-classadmin-autocomplete', 'class': 'my-class admin-autocomplete',
'data-ajax--cache': 'true', 'data-ajax--cache': 'true',
'data-ajax--type': 'GET', 'data-ajax--type': 'GET',
'data-ajax--url': '/admin_widgets/band/autocomplete/', 'data-ajax--url': '/admin_widgets/band/autocomplete/',
...@@ -59,6 +59,11 @@ class AutocompleteMixinTests(TestCase): ...@@ -59,6 +59,11 @@ class AutocompleteMixinTests(TestCase):
'data-placeholder': '' 'data-placeholder': ''
}) })
def test_build_attrs_no_custom_class(self):
form = AlbumForm()
attrs = form['featuring'].field.widget.get_context(name='name', value=None, attrs={})['widget']['attrs']
self.assertEqual(attrs['class'], 'admin-autocomplete')
def test_build_attrs_not_required_field(self): def test_build_attrs_not_required_field(self):
form = NotRequiredBandForm() form = NotRequiredBandForm()
attrs = form['band'].field.widget.build_attrs({}) attrs = form['band'].field.widget.build_attrs({})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment