Commit 9c503bc0 authored by Serge S. Koval's avatar Serge S. Koval

Merged upstream

parents 08cb31b2 d1b8b15f
......@@ -18,7 +18,6 @@ rename_columns column_labels
sortable_columns column_sortable_list
searchable_columns column_searchable_list
list_display_pk column_display_pk
hide_backrefs column_hide_backrefs
auto_select_related column_auto_select_related
list_select_related column_select_related_list
list_display_all_relations column_display_all_relations
......
......@@ -22,6 +22,10 @@ from .ajax import process_ajax_references, create_ajax_loader
from .subdoc import convert_subdocuments
# Set up logger
log = logging.getLogger("flask-admin.mongo")
SORTABLE_FIELDS = set((
mongoengine.StringField,
mongoengine.IntField,
......@@ -478,7 +482,7 @@ class ModelView(BaseModelView):
flash(gettext('Failed to create model. %(error)s',
error=format_error(ex)),
'error')
logging.exception('Failed to create model')
log.exception('Failed to create model')
return False
else:
self.after_model_change(form, model, True)
......@@ -505,7 +509,7 @@ class ModelView(BaseModelView):
flash(gettext('Failed to update model. %(error)s',
error=format_error(ex)),
'error')
logging.exception('Failed to update model')
log.exception('Failed to update model')
return False
else:
self.after_model_change(form, model, False)
......@@ -530,7 +534,7 @@ class ModelView(BaseModelView):
flash(gettext('Failed to delete model. %(error)s',
error=format_error(ex)),
'error')
logging.exception('Failed to delete model')
log.exception('Failed to delete model')
return False
# FileField access API
......
......@@ -15,6 +15,9 @@ from .form import get_form, CustomModelConverter, InlineModelConverter, save_inl
from .tools import get_primary_key, parse_like_term
from .ajax import create_ajax_loader
# Set up logger
log = logging.getLogger("flask-admin.peewee")
class ModelView(BaseModelView):
column_filters = None
......@@ -350,7 +353,7 @@ class ModelView(BaseModelView):
raise
flash(gettext('Failed to create model. %(error)s', error=str(ex)), 'error')
logging.exception('Failed to create model')
log.exception('Failed to create model')
return False
else:
self.after_model_change(form, model, True)
......@@ -370,7 +373,7 @@ class ModelView(BaseModelView):
raise
flash(gettext('Failed to update model. %(error)s', error=str(ex)), 'error')
logging.exception('Failed to update model')
log.exception('Failed to update model')
return False
else:
self.after_model_change(form, model, False)
......@@ -387,7 +390,7 @@ class ModelView(BaseModelView):
raise
flash(gettext('Failed to delete model. %(error)s', error=str(ex)), 'error')
logging.exception('Failed to delete model')
log.exception('Failed to delete model')
return False
# Default model actions
......
......@@ -15,6 +15,9 @@ from flask.ext.admin.helpers import get_form_data
from .filters import BasePyMongoFilter
from .tools import parse_like_term
# Set up logger
log = logging.getLogger("flask-admin.pymongo")
class ModelView(BaseModelView):
"""
......@@ -260,7 +263,7 @@ class ModelView(BaseModelView):
except Exception as ex:
flash(gettext('Failed to create model. %(error)s', error=str(ex)),
'error')
logging.exception('Failed to create model')
log.exception('Failed to create model')
return False
else:
self.after_model_change(form, model, True)
......@@ -285,7 +288,7 @@ class ModelView(BaseModelView):
except Exception as ex:
flash(gettext('Failed to update model. %(error)s', error=str(ex)),
'error')
logging.exception('Failed to update model')
log.exception('Failed to update model')
return False
else:
self.after_model_change(form, model, False)
......@@ -311,7 +314,7 @@ class ModelView(BaseModelView):
except Exception as ex:
flash(gettext('Failed to delete model. %(error)s', error=str(ex)),
'error')
logging.exception('Failed to delete model')
log.exception('Failed to delete model')
return False
# Default model actions
......
......@@ -10,6 +10,9 @@ from flask.ext.admin.base import BaseView, expose
from flask.ext.admin.babel import gettext
from flask.ext.admin._compat import VER
# Set up logger
log = logging.getLogger("flask-admin.redis")
class CommandError(Exception):
"""
......@@ -203,5 +206,5 @@ class RedisCli(BaseView):
except CommandError as err:
return self._error('Cli: %s' % err)
except Exception as ex:
logging.exception(ex)
log.exception(ex)
return self._error('Cli: %s' % ex)
......@@ -120,10 +120,6 @@ class AdminModelConverter(ModelConverterBase):
if prop.direction.name == 'MANYTOONE':
return self._model_select_field(prop, False, remote_model, **kwargs)
elif prop.direction.name == 'ONETOMANY':
# Skip backrefs
if not local_column.foreign_keys and getattr(self.view, 'column_hide_backrefs', True):
return None
return self._model_select_field(prop, True, remote_model, **kwargs)
elif prop.direction.name == 'MANYTOMANY':
return self._model_select_field(prop, True, remote_model, **kwargs)
......
......@@ -19,6 +19,10 @@ from .tools import is_inherited_primary_key, get_column_for_current_model, get_q
from .ajax import create_ajax_loader
# Set up logger
log = logging.getLogger("flask-admin.sqla")
class ModelView(BaseModelView):
"""
SQLAlchemy model view
......@@ -29,13 +33,6 @@ class ModelView(BaseModelView):
admin.add_view(ModelView(User, db.session))
"""
column_hide_backrefs = ObsoleteAttr('column_hide_backrefs',
'hide_backrefs',
True)
"""
Set this to False if you want to see multiselect for model backrefs.
"""
column_auto_select_related = ObsoleteAttr('column_auto_select_related',
'auto_select_related',
True)
......@@ -792,7 +789,7 @@ class ModelView(BaseModelView):
raise
flash(gettext('Failed to create model. %(error)s', error=str(ex)), 'error')
logging.exception('Failed to create model')
log.exception('Failed to create model')
self.session.rollback()
return False
else:
......@@ -818,7 +815,7 @@ class ModelView(BaseModelView):
raise
flash(gettext('Failed to update model. %(error)s', error=str(ex)), 'error')
logging.exception('Failed to update model')
log.exception('Failed to update model')
self.session.rollback()
return False
......@@ -845,7 +842,7 @@ class ModelView(BaseModelView):
raise
flash(gettext('Failed to delete model. %(error)s', error=str(ex)), 'error')
logging.exception('Failed to delete model')
log.exception('Failed to delete model')
self.session.rollback()
return False
......
......@@ -135,5 +135,7 @@ class Select2TagsField(fields.TextField):
def _value(self):
if isinstance(self.data, (list, tuple)):
return u','.join(as_unicode(v) for v in self.data)
else:
elif self.data:
return as_unicode(self.data)
else:
return u''
......@@ -95,8 +95,8 @@
if ($el.attr('data-tags')) {
$.extend(opts, {
multiple: true,
tokenSeparators: [',']
tokenSeparators: [','],
tags: []
});
}
......
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