fixed grid export with custom search, thanks Prasad Muley
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.9.12-beta+timestamp.2015.01.15.09.47.52
|
Version 2.9.12-beta+timestamp.2015.01.15.09.58.09
|
||||||
|
|||||||
+14
-1
@@ -2326,7 +2326,7 @@ class SQLFORM(FORM):
|
|||||||
expcolumns.append(str(field))
|
expcolumns.append(str(field))
|
||||||
|
|
||||||
if export_type in exportManager and exportManager[export_type]:
|
if export_type in exportManager and exportManager[export_type]:
|
||||||
if keywords:
|
if keywords and not callable(searchable):
|
||||||
try:
|
try:
|
||||||
#the query should be constructed using searchable
|
#the query should be constructed using searchable
|
||||||
#fields but not virtual fields
|
#fields but not virtual fields
|
||||||
@@ -2339,6 +2339,19 @@ class SQLFORM(FORM):
|
|||||||
except Exception, e:
|
except Exception, e:
|
||||||
response.flash = T('Internal Error')
|
response.flash = T('Internal Error')
|
||||||
rows = []
|
rows = []
|
||||||
|
elif callable(searchable):
|
||||||
|
#use custom_query using searchable
|
||||||
|
try:
|
||||||
|
#the query should be constructed using searchable
|
||||||
|
#fields but not virtual fields
|
||||||
|
sfields = reduce(lambda a, b: a + b,
|
||||||
|
[[f for f in t if f.readable and not isinstance(f, Field.Virtual)] for t in tables])
|
||||||
|
dbset = dbset(searchable(sfields, keywords))
|
||||||
|
rows = dbset.select(left=left, orderby=orderby,
|
||||||
|
cacheable=True, *selectable_columns)
|
||||||
|
except Exception, e:
|
||||||
|
response.flash = T('Internal Error')
|
||||||
|
rows = []
|
||||||
else:
|
else:
|
||||||
rows = dbset.select(left=left, orderby=orderby,
|
rows = dbset.select(left=left, orderby=orderby,
|
||||||
cacheable=True, *selectable_columns)
|
cacheable=True, *selectable_columns)
|
||||||
|
|||||||
Reference in New Issue
Block a user