Commit 7399e567 authored by Serge S. Koval's avatar Serge S. Koval

Merge pull request #1009 from pawl/fix_nullable_enums

Fix nullable enums and allow blanks in editable list view select fields
parents 9bce6a5b 9f6fd62a
......@@ -270,8 +270,16 @@ class AdminModelConverter(ModelConverterBase):
@converts('String', 'Unicode')
def conv_String(self, column, field_args, **extra):
if hasattr(column.type, 'enums'):
field_args['validators'].append(validators.AnyOf(column.type.enums))
accepted_values = list(column.type.enums)
field_args['choices'] = [(f, f) for f in column.type.enums]
if column.nullable:
field_args['allow_blank'] = column.nullable
accepted_values.append(None)
field_args['validators'].append(validators.AnyOf(accepted_values))
return form.Select2Field(**field_args)
if column.nullable:
......
......@@ -147,4 +147,8 @@ class XEditableWidget(object):
else:
raise Exception('Unsupported field type: %s' % (type(subfield),))
# for Select2, QuerySelectField, and ModelSelectField
if getattr(subfield, 'allow_blank', False):
kwargs['data-source']['__None'] = ""
return kwargs
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment