@@ -491,6 +491,7 @@ def __init__(
491491 # instance variables that will be computed
492492 self .db = query ._db # the database
493493 self .query = query # the filter query
494+ self .query2 = None # the query with additional filters
494495 self .query_parms = safely (lambda : request .params , default = {})
495496 self .T = T # the translator
496497 self .form_maker = form_maker # the object that makes forms
@@ -562,13 +563,16 @@ def process(self):
562563 query_lambda = self .param .search_queries [search_type ][1 ]
563564 try :
564565 query = query_lambda (search_string )
565- except Exception :
566- pass # flash a message here
566+ print (query )
567+ except Exception as e :
568+ import traceback
569+ print (traceback .format_exc ())
570+ pass # TODO: display the error
567571
568572 if not query :
569- query = self .query
573+ self . query2 = self .query
570574 else :
571- query & = self .query
575+ self . query2 = self .query & query
572576
573577 self .mode = request .query .get ("mode" , "select" )
574578 self .record_id = request .query .get ("id" )
@@ -779,10 +783,10 @@ def compute(row, name=str(col)):
779783 if self .param .groupby or self .param .left :
780784 # need groupby fields in select to get proper count
781785 self .total_number_of_rows = len (
782- db (self .query ).select (db [self .tablename ]._id , ** select_params )
786+ db (self .query2 ).select (db [self .tablename ]._id , ** select_params )
783787 )
784788 else :
785- self .total_number_of_rows = db (self .query ).count ()
789+ self .total_number_of_rows = db (self .query2 ).count ()
786790
787791 # if at a high page number and then filter causes less records to be displayed, reset to page 1
788792 if (
@@ -801,7 +805,7 @@ def compute(row, name=str(col)):
801805 self .page_end = self .total_number_of_rows
802806
803807 # get the data
804- self .rows = db (self .query ).select (* self .needed_fields , ** select_params )
808+ self .rows = db (self .query2 ).select (* self .needed_fields , ** select_params )
805809
806810 self .number_of_pages = self .total_number_of_rows // self .param .rows_per_page
807811 if self .total_number_of_rows % self .param .rows_per_page > 0 :
0 commit comments