@@ -159,6 +159,19 @@ def _between(context, row):
159159 return tmp
160160
161161
162+ def _dateBetween (context , row ):
163+ try :
164+ start_date = DateTime (row .values [0 ])
165+ except DateTimeError :
166+ start_date = DateTime (0 )
167+ try :
168+ end_date = DateTime (row .values [1 ])
169+ except DateTimeError :
170+ end_date = DateTime ()
171+ row = Row (index = row .index , operator = row .operator , values = (start_date , end_date ))
172+ return _between (context , row )
173+
174+
162175def _largerThan (context , row ):
163176 tmp = {
164177 row .index : {
@@ -182,6 +195,19 @@ def _intLargerThan(context, row):
182195 }
183196
184197
198+ def _dateLargerThan (context , row ):
199+ try :
200+ value = DateTime (row .values )
201+ except (DateTimeError , TypeError , AttributeError ):
202+ return {}
203+ return {
204+ row .index : {
205+ "query" : value ,
206+ "range" : "min" ,
207+ },
208+ }
209+
210+
185211def _lessThan (context , row ):
186212 tmp = {
187213 row .index : {
@@ -205,6 +231,19 @@ def _intLessThan(context, row):
205231 }
206232
207233
234+ def _dateLessThan (context , row ):
235+ try :
236+ value = DateTime (row .values )
237+ except (DateTimeError , TypeError , AttributeError ):
238+ return {}
239+ return {
240+ row .index : {
241+ "query" : value ,
242+ "range" : "max" ,
243+ },
244+ }
245+
246+
208247def _currentUser (context , row ):
209248 """Current user lookup"""
210249 mt = getToolByName (context , "portal_membership" )
0 commit comments