Skip to content

Commit d627014

Browse files
authored
Merge pull request pallets-eco#1796 from ufo911/master
Added Mongoengine ReferenceField Search And fix MongoImageInput call tabbed
2 parents bf17b7a + 5db02de commit d627014

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

flask_admin/contrib/mongoengine/view.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,8 @@ class MyModelView(BaseModelView):
140140

141141
allowed_search_types = (mongoengine.StringField,
142142
mongoengine.URLField,
143-
mongoengine.EmailField)
143+
mongoengine.EmailField,
144+
mongoengine.ReferenceField)
144145
"""
145146
List of allowed search field types.
146147
"""
@@ -466,7 +467,12 @@ def _search(self, query, search_term):
466467
criteria = None
467468

468469
for field in self._search_fields:
469-
flt = {'%s__%s' % (field.name, op): term}
470+
if type(field) == mongoengine.ReferenceField:
471+
import re
472+
regex = re.compile('.*%s.*' % term)
473+
else:
474+
regex = term
475+
flt = {'%s__%s' % (field.name, op): regex}
470476
q = mongoengine.Q(**flt)
471477

472478
if criteria is None:

flask_admin/contrib/mongoengine/widgets.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,8 @@ class MongoImageInput(object):
4747
' <input type="checkbox" name="%(marker)s">Delete</input>'
4848
'</div>')
4949

50-
51-
def __call__(self, field, **kwargs):
50+
def __call__(self, field, **kwargs):
5251
kwargs.setdefault('id', field.id)
53-
5452
placeholder = ''
5553
if field.data and isinstance(field.data, ImageGridFsProxy):
5654
args = helpers.make_thumb_args(field.data)

0 commit comments

Comments
 (0)