Commit 2ce8dbc0 authored by Serge S. Koval's avatar Serge S. Koval Committed by GitHub

Merge pull request #1415 from pawl/remove_speaklater

remove speaklater dependency
parents dfb9d01f e9be26ba
......@@ -2,7 +2,6 @@ import logging
import warnings
import inspect
from speaklater import is_lazy_string, make_lazy_string
from sqlalchemy.orm.attributes import InstrumentedAttribute
from sqlalchemy.orm import joinedload, aliased
from sqlalchemy.sql.expression import desc
......@@ -652,14 +651,11 @@ class ModelView(BaseModelView):
if not isinstance(name, string_types):
visible_name = self.get_column_name(name.property.key)
else:
column_name = self.get_column_name(name)
def prettify():
return column_name.replace('.', ' / ')
if is_lazy_string(column_name):
visible_name = make_lazy_string(prettify)
if self.column_labels and name in self.column_labels:
visible_name = self.column_labels[name]
else:
visible_name = prettify()
visible_name = self.get_column_name(name)
visible_name = visible_name.replace('.', ' / ')
type_name = type(column.type).__name__
......
import json
from nose.tools import eq_, ok_, raises, assert_true
from speaklater import make_lazy_string
from flask_admin.babel import lazy_gettext
from flask_babelex import Babel
from nose.tools import eq_, ok_
from . import setup
from .test_basic import CustomModelView, create_models
class Translator:
translate = False
def __call__(self, string):
if self.translate:
return 'Translated: "{0}"'.format(string)
else:
return string
def test_column_label_translation():
app, db, admin = setup()
Model1, _ = create_models(db)
translated = Translator()
label = make_lazy_string(translated, 'Column1')
app.config['BABEL_DEFAULT_LOCALE'] = 'es'
Babel(app)
label = lazy_gettext('Name')
view = CustomModelView(Model1, db.session,
column_list=['test1', 'test3'],
......@@ -31,12 +22,8 @@ def test_column_label_translation():
column_filters=('test1',))
admin.add_view(view)
translated.translate = True
non_lazy_groups = view._get_filter_groups()
json.dumps(non_lazy_groups) # Filter dict is JSON serializable.
ok_(translated('Column1') in non_lazy_groups) # Label was translated.
client = app.test_client()
# Render index with active filter.
rv = client.get('/admin/model1/?flt1_0=test')
eq_(rv.status_code, 200)
ok_('{"Nombre":' in rv.data.decode('utf-8'))
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