Commit 87abc575 authored by Peter Ward's avatar Peter Ward

Support not nullable boolean fields, and fix filtering by boolean fields.

parent ff887bd7
...@@ -15,3 +15,4 @@ Patches and Suggestions ...@@ -15,3 +15,4 @@ Patches and Suggestions
- Salem Harrache <salem@harrache.info> - Salem Harrache <salem@harrache.info>
- F. Gabriel Gosselin - F. Gabriel Gosselin
- Leonardinius <leonids.maslovs@galeoconsulting.com> - Leonardinius <leonids.maslovs@galeoconsulting.com>
- Peter Ward <peteraward@gmail.com>
from wtforms import fields, validators from wtforms import fields, validators
from sqlalchemy import Boolean
from flask.ext.admin import form from flask.ext.admin import form
from flask.ext.admin.model.form import converts, ModelConverterBase, InlineFormAdmin from flask.ext.admin.model.form import converts, ModelConverterBase, InlineFormAdmin
...@@ -125,7 +126,7 @@ class AdminModelConverter(ModelConverterBase): ...@@ -125,7 +126,7 @@ class AdminModelConverter(ModelConverterBase):
model, model,
column)) column))
if not column.nullable: if not column.nullable and not isinstance(column.type, Boolean):
kwargs['validators'].append(validators.Required()) kwargs['validators'].append(validators.Required())
# Apply label # Apply label
......
...@@ -77,7 +77,7 @@ class BaseBooleanFilter(BaseFilter): ...@@ -77,7 +77,7 @@ class BaseBooleanFilter(BaseFilter):
""" """
Base boolean filter, uses fixed list of options. Base boolean filter, uses fixed list of options.
""" """
def __init__(self, name, data_type=None): def __init__(self, name, options=None, data_type=None):
super(BaseBooleanFilter, self).__init__(name, super(BaseBooleanFilter, self).__init__(name,
(('1', lazy_gettext('Yes')), (('1', lazy_gettext('Yes')),
('0', lazy_gettext('No'))), ('0', lazy_gettext('No'))),
......
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