diff --git a/flask_appbuilder/forms.py b/flask_appbuilder/forms.py index 872575ce1..2e47ef70c 100644 --- a/flask_appbuilder/forms.py +++ b/flask_appbuilder/forms.py @@ -53,6 +53,7 @@ class FieldConverter(object): ("is_enum", lambda conv, col_type : EnumField( enum_class=col_type.enum_class, enums=col_type.enums, + label=conv.label, description=conv.description, validators=conv.validators, widget=Select2Widget(), diff --git a/tests/test_forms.py b/tests/test_forms.py index 3277dc4a6..7d9082b0a 100644 --- a/tests/test_forms.py +++ b/tests/test_forms.py @@ -37,8 +37,7 @@ class FieldsModel(Model): field_boolean = Column(Boolean()) field_date = Column(Date()) field_datetime = Column(DateTime()) - # Enum support is somehow broken? - # field_enum = Column(Enum()) + field_enum = Column(Enum()) field_float = Column(Float()) field_integer = Column(Integer()) field_numeric_scale0 = Column(Numeric()) @@ -57,7 +56,7 @@ def test_model_without_context(self): "field_boolean", "field_date", "field_datetime", - # "field_enum", + "field_enum", "field_float", "field_integer", "field_numeric_scale0", @@ -70,7 +69,7 @@ def test_model_without_context(self): self.assertTrue(form.field_boolean.field_class is BooleanField) self.assertTrue(form.field_date.field_class is DateField) self.assertTrue(form.field_datetime.field_class is DateTimeField) - # self.assertTrue(form.field_enum.field_class is EnumField) + self.assertTrue(form.field_enum.field_class is EnumField) self.assertTrue(form.field_float.field_class is FloatField) self.assertTrue(form.field_integer.field_class is IntegerField) self.assertTrue(form.field_numeric_scale0.field_class is DecimalField and not form.field_numeric_scale0.kwargs["places"]) @@ -86,7 +85,7 @@ def test_model_with_context(self): "field_boolean", "field_date", "field_datetime", - # "field_enum", + "field_enum", "field_float", "field_integer", "field_numeric_scale0", @@ -104,7 +103,7 @@ def test_model_with_context(self): self.assertTrue(isinstance(form.field_boolean, BooleanField)) self.assertTrue(isinstance(form.field_date, DateField)) self.assertTrue(isinstance(form.field_datetime, DateTimeField)) - # self.assertTrue(isinstance(form.field_enum, EnumField)) + self.assertTrue(isinstance(form.field_enum, EnumField)) self.assertTrue(isinstance(form.field_float, FloatField)) self.assertTrue(isinstance(form.field_integer, IntegerField)) self.assertTrue(isinstance(form.field_numeric_scale0, DecimalField) and not form.field_numeric_scale0.places)