Commit 1bbe9c3a authored by Serge S. Koval's avatar Serge S. Koval

Merge pull request #729 from pawl/fixcolumnlabel

Add test for single custom filter on relation and column_labels
parents 58789da1 377b7d33
...@@ -5,7 +5,7 @@ from wtforms import fields ...@@ -5,7 +5,7 @@ from wtforms import fields
from flask.ext.admin import form from flask.ext.admin import form
from flask.ext.admin._compat import as_unicode from flask.ext.admin._compat import as_unicode
from flask.ext.admin._compat import iteritems from flask.ext.admin._compat import iteritems
from flask.ext.admin.contrib.sqla import ModelView from flask.ext.admin.contrib.sqla import ModelView, filters
from flask.ext.babelex import Babel from flask.ext.babelex import Babel
from . import setup from . import setup
...@@ -377,7 +377,17 @@ def test_column_filters(): ...@@ -377,7 +377,17 @@ def test_column_filters():
(0, 'equals'), (0, 'equals'),
(1, 'not equal'), (1, 'not equal'),
]) ])
# Test column_labels on filters
view = CustomModelView(Model2, db.session,
column_filters=['model1.bool_field', 'string_field'],
column_labels={
'model1.bool_field': 'Test Filter #1',
'string_field': 'Test Filter #2',
})
eq_(view._filter_groups.keys(), [u'Test Filter #1', u'Test Filter #2'])
# Fill DB # Fill DB
model1_obj1 = Model1('test1_val_1', 'test2_val_1', bool_field=True) model1_obj1 = Model1('test1_val_1', 'test2_val_1', bool_field=True)
model1_obj2 = Model1('test1_val_2', 'test2_val_2') model1_obj2 = Model1('test1_val_2', 'test2_val_2')
...@@ -385,7 +395,7 @@ def test_column_filters(): ...@@ -385,7 +395,7 @@ def test_column_filters():
model1_obj4 = Model1('test1_val_4', 'test2_val_4') model1_obj4 = Model1('test1_val_4', 'test2_val_4')
model2_obj1 = Model2('test2_val_1', model1=model1_obj1, float_field=None) model2_obj1 = Model2('test2_val_1', model1=model1_obj1, float_field=None)
model2_obj2 = Model2('test2_val_2', model1=model1_obj1, float_field=None) model2_obj2 = Model2('test2_val_2', model1=model1_obj2, float_field=None)
model2_obj3 = Model2('test2_val_3', int_field=5000, float_field=25.9) model2_obj3 = Model2('test2_val_3', int_field=5000, float_field=25.9)
model2_obj4 = Model2('test2_val_4', int_field=9000, float_field=75.5) model2_obj4 = Model2('test2_val_4', int_field=9000, float_field=75.5)
...@@ -705,7 +715,7 @@ def test_column_filters(): ...@@ -705,7 +715,7 @@ def test_column_filters():
eq_(rv.status_code, 200) eq_(rv.status_code, 200)
data = rv.data.decode('utf-8') data = rv.data.decode('utf-8')
ok_('test2_val_1' in data) ok_('test2_val_1' in data)
ok_('test2_val_2' in data) ok_('test2_val_2' not in data)
ok_('test2_val_3' not in data) ok_('test2_val_3' not in data)
ok_('test2_val_4' not in data) ok_('test2_val_4' not in data)
...@@ -989,6 +999,18 @@ def test_column_filters(): ...@@ -989,6 +999,18 @@ def test_column_filters():
ok_('enum_obj1' not in data) ok_('enum_obj1' not in data)
ok_('enum_obj2' not in data) ok_('enum_obj2' not in data)
# Test single custom filter on relation
view = CustomModelView(Model2, db.session,
column_filters = [
filters.FilterEqual(Model1.test1, "Test1")
], endpoint='_relation_test')
admin.add_view(view)
rv = client.get('/admin/_relation_test/?flt1_0=test1_val_1')
data = rv.data.decode('utf-8')
ok_('test1_val_1' in data)
ok_('test1_val_2' not in data)
def test_url_args(): def test_url_args():
app, db, admin = setup() app, db, admin = setup()
......
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