Commit abad6601 authored by Iuri de Silvio's avatar Iuri de Silvio

Fix url generation with localized named filters.

parent 8563ecdd
......@@ -1117,7 +1117,15 @@ class BaseModelView(BaseView, ActionsMixin):
Filter instance
"""
if self.named_filter_urls:
name = ('%s %s' % (flt.name, as_unicode(flt.operation()))).lower()
operation = flt.operation()
try:
# get lazy string original value
operation = operation._args[0]
except AttributeError:
pass
name = ('%s %s' % (flt.name, as_unicode(operation))).lower()
name = filter_char_re.sub('', name)
name = filter_compact_re.sub('_', name)
return name
......
......@@ -1834,6 +1834,28 @@ def test_modelview_localization():
for locale in locales:
test_locale(locale)
def test_modelview_named_filter_localization():
app, db, admin = setup()
app.config['BABEL_DEFAULT_LOCALE'] = 'de'
Babel(app)
Model1, _ = create_models(db)
view = CustomModelView(
Model1, db.session,
named_filter_urls=True,
column_filters=['test1'],
)
filters = view.get_filters()
flt = filters[2]
with app.test_request_context():
flt_name = view.get_filter_arg(2, flt)
eq_('test1_equals', flt_name)
def test_custom_form_base():
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