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:
Felipe Monteiro 2017-04-19 15:30:58 +01:00
parent c7ac310af9
commit 5b78e0dd4b
1 changed files with 14 additions and 14 deletions

View File

@ -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,