mirror of
https://github.com/django/django.git
synced 2025-08-04 10:59:45 +00:00
Fixed #29961 -- Made RelatedFieldWidgetWrapper hide related item links if wrapping a hidden widget.
This commit is contained in:
parent
ebd270627c
commit
89a2216486
4 changed files with 27 additions and 0 deletions
|
@ -687,6 +687,29 @@ class RelatedFieldWidgetWrapperTests(SimpleTestCase):
|
|||
wrapper = widgets.RelatedFieldWidgetWrapper(widget, rel, widget_admin_site)
|
||||
self.assertIs(wrapper.value_omitted_from_data({}, {}, 'band'), False)
|
||||
|
||||
def test_widget_is_hidden(self):
|
||||
rel = Album._meta.get_field('band').remote_field
|
||||
widget = forms.HiddenInput()
|
||||
widget.choices = ()
|
||||
wrapper = widgets.RelatedFieldWidgetWrapper(widget, rel, widget_admin_site)
|
||||
self.assertIs(wrapper.is_hidden, True)
|
||||
context = wrapper.get_context('band', None, {})
|
||||
self.assertIs(context['is_hidden'], True)
|
||||
output = wrapper.render('name', 'value')
|
||||
# Related item links are hidden.
|
||||
self.assertNotIn('<a ', output)
|
||||
|
||||
def test_widget_is_not_hidden(self):
|
||||
rel = Album._meta.get_field('band').remote_field
|
||||
widget = forms.Select()
|
||||
wrapper = widgets.RelatedFieldWidgetWrapper(widget, rel, widget_admin_site)
|
||||
self.assertIs(wrapper.is_hidden, False)
|
||||
context = wrapper.get_context('band', None, {})
|
||||
self.assertIs(context['is_hidden'], False)
|
||||
output = wrapper.render('name', 'value')
|
||||
# Related item links are present.
|
||||
self.assertIn('<a ', output)
|
||||
|
||||
|
||||
@override_settings(ROOT_URLCONF='admin_widgets.urls')
|
||||
class AdminWidgetSeleniumTestCase(AdminSeleniumTestCase):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue