diff --git a/gluon/sqlhtml.py b/gluon/sqlhtml.py
index b0b4db90..a1ba699f 100644
--- a/gluon/sqlhtml.py
+++ b/gluon/sqlhtml.py
@@ -39,9 +39,8 @@ import inspect
try:
import gluon.settings as settings
- is_gae = settings.global_settings.web2py_runtime_gae
except ImportError:
- is_gae = False # this is an assumption (if settings missing)
+ settings = {}
widget_class = re.compile('^\w*')
@@ -649,7 +648,7 @@ class AutocompleteWidget(object):
def callback(self):
if self.keyword in self.request.vars:
field = self.fields[0]
- if is_gae:
+ if settings and settings.global_settings.web2py_runtime_gae:
rows = self.db(field.__ge__(self.request.vars[self.keyword]) & field.__lt__(self.request.vars[self.keyword] + u'\ufffd')).select(orderby=self.orderby, limitby=self.limitby, *(self.fields+self.help_fields))
else:
rows = self.db(field.like(self.request.vars[self.keyword] + '%')).select(orderby=self.orderby, limitby=self.limitby, distinct=self.distinct, *(self.fields+self.help_fields))
@@ -1686,6 +1685,19 @@ class SQLFORM(FORM):
SEARCHABLE_TYPES = ('string', 'text', 'list:string')
parts = [field.contains(
key) for field in fields if field.type in SEARCHABLE_TYPES]
+
+ # from https://groups.google.com/forum/#!topic/web2py/hKe6lI25Bv4
+ # needs testing...
+ #words = key.split(' ') if key else []
+ #filters = []
+ #for field in fields:
+ # if field.type in SEARCHABLE_TYPES:
+ # all_words_filters = []
+ # for word in words:
+ # all_words_filters.append(field.contains(word))
+ # filters.append(reduce(lambda a, b: (a & b), all_words_filters))
+ #parts = filters
+
else:
parts = None
if parts: