@@ -163,6 +163,19 @@ def _between(context, row):
163163 return tmp
164164
165165
166+ def _dateBetween (context , row ):
167+ try :
168+ start_date = DateTime (row .values [0 ])
169+ except DateTimeError :
170+ start_date = DateTime (0 )
171+ try :
172+ end_date = DateTime (row .values [1 ])
173+ except DateTimeError :
174+ end_date = DateTime ()
175+ row = Row (index = row .index , operator = row .operator , values = (start_date , end_date ))
176+ return _between (context , row )
177+
178+
166179def _largerThan (context , row ):
167180 tmp = {
168181 row .index : {
@@ -186,6 +199,19 @@ def _intLargerThan(context, row):
186199 }
187200
188201
202+ def _dateLargerThan (context , row ):
203+ try :
204+ value = DateTime (row .values )
205+ except (DateTimeError , TypeError , AttributeError ):
206+ return {}
207+ return {
208+ row .index : {
209+ "query" : value ,
210+ "range" : "min" ,
211+ },
212+ }
213+
214+
189215def _lessThan (context , row ):
190216 tmp = {
191217 row .index : {
@@ -209,6 +235,19 @@ def _intLessThan(context, row):
209235 }
210236
211237
238+ def _dateLessThan (context , row ):
239+ try :
240+ value = DateTime (row .values )
241+ except (DateTimeError , TypeError , AttributeError ):
242+ return {}
243+ return {
244+ row .index : {
245+ "query" : value ,
246+ "range" : "max" ,
247+ },
248+ }
249+
250+
212251def _currentUser (context , row ):
213252 """Current user lookup"""
214253 mt = getToolByName (context , "portal_membership" )
0 commit comments