Fix themable image choicefield display text bug
Following a recent patch [0], image choicefields with themable widgets are not rendering display correctly. This patch fixes the bug, correctly formatting the image display names. [0] https://review.openstack.org/#/c/452771/ Change-Id: Ide558af94cd1484f7bada414658da5d1319ab384 Closes-Bug: #1684141
This commit is contained in:
parent
c7ac310af9
commit
5b78e0dd4b
|
@ -324,6 +324,19 @@ class IntegerField(forms.IntegerField, CustomPropertiesField):
|
|||
pass
|
||||
|
||||
|
||||
def _get_title(data):
|
||||
if isinstance(data, Choice):
|
||||
return data.title
|
||||
return data
|
||||
|
||||
|
||||
def _disable_non_ready(data):
|
||||
if getattr(data, 'enabled', True):
|
||||
return {}
|
||||
else:
|
||||
return {'disabled': 'disabled'}
|
||||
|
||||
|
||||
class ChoiceField(forms.ChoiceField, CustomPropertiesField):
|
||||
def __init__(self, **kwargs):
|
||||
choices = kwargs.get('choices') or getattr(self, 'choices', None)
|
||||
|
@ -331,7 +344,7 @@ class ChoiceField(forms.ChoiceField, CustomPropertiesField):
|
|||
if isinstance(choices, dict):
|
||||
choices = list(choices.items())
|
||||
kwargs['choices'] = choices
|
||||
kwargs['widget'] = hz_forms.ThemableSelectWidget()
|
||||
kwargs['widget'] = hz_forms.ThemableSelectWidget(transform=_get_title)
|
||||
super(ChoiceField, self).__init__(**kwargs)
|
||||
|
||||
|
||||
|
@ -412,19 +425,6 @@ class Choice(object):
|
|||
self.enabled = enabled
|
||||
|
||||
|
||||
def _get_title(data):
|
||||
if isinstance(data, Choice):
|
||||
return data.title
|
||||
return data
|
||||
|
||||
|
||||
def _disable_non_ready(data):
|
||||
if getattr(data, 'enabled', True):
|
||||
return {}
|
||||
else:
|
||||
return {'disabled': 'disabled'}
|
||||
|
||||
|
||||
class ImageChoiceField(ChoiceField):
|
||||
widget = hz_forms.ThemableSelectWidget(
|
||||
transform=_get_title,
|
||||
|
|
Loading…
Reference in New Issue