Merge "Fix themable image choicefield display text bug"

This commit is contained in:
Jenkins 2017-04-21 06:30:40 +00:00 committed by Gerrit Code Review
commit 9709210909
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,