fixed issue 1084
This commit is contained in:
@@ -1 +1 @@
|
||||
Version 2.1.0 (2012-10-12 18:16:59) dev
|
||||
Version 2.1.0 (2012-10-12 22:16:19) dev
|
||||
|
||||
@@ -6565,6 +6565,10 @@ def smart_query(fields,text):
|
||||
elif op == 'startswith': new_query = field.startswith(value)
|
||||
elif op == 'endswith': new_query = field.endswith(value)
|
||||
else: raise RuntimeError, "Invalid operation"
|
||||
elif field._db._adapter.dbengine=='google:datastore' and \
|
||||
field.type in ('list:integer', 'list:string', 'list:reference'):
|
||||
if op == 'contains': new_query = field.contains(value)
|
||||
else: raise RuntimeError, "Invalid operation"
|
||||
else: raise RuntimeError, "Invalid operation"
|
||||
if neg: new_query = ~new_query
|
||||
if query is None:
|
||||
|
||||
+6
-1
@@ -1528,15 +1528,20 @@ class SQLFORM(FORM):
|
||||
'datetime':['=','!=','<','>','<=','>='],
|
||||
'integer':['=','!=','<','>','<=','>='],
|
||||
'double':['=','!=','<','>','<=','>='],
|
||||
'id':['=','!=','<','>','<=','>='],
|
||||
'reference':['=','!=','<','>','<=','>='],
|
||||
'boolean':['=','!=']}
|
||||
if fields[0]._db._adapter.dbengine=='google:datastore':
|
||||
search_options['string'] = ['=','!=','<','>','<=','>=']
|
||||
search_options['text'] = ['=','!=','<','>','<=','>=']
|
||||
search_options['list:string'] = ['contains']
|
||||
search_options['list:integer'] = ['contains']
|
||||
search_options['list:reference'] = ['contains']
|
||||
criteria = []
|
||||
selectfields = []
|
||||
for field in fields:
|
||||
name = str(field).replace('.','-')
|
||||
options = search_options.get(field.type,None)
|
||||
options = search_options.get(field.type.split(' ')[0],None)
|
||||
if options:
|
||||
label = isinstance(field.label,str) and T(field.label) or field.label
|
||||
selectfields.append(OPTION(label, _value=str(field)))
|
||||
|
||||
Reference in New Issue
Block a user