Rt3 On Date never matches

When users look for tickets resolved on a certain
date, their query doesn’t match. The date parser is
adding a time (midnight) to their search, so nothing
matches. I corrected this for our site with the
following patch to Search/Listing.

The patch looks for date ‘On’ (a.k.a. =) queries, if
they don’t specify a time, it replaces them with two
queries: one for after 00:00 and another for before
23:59 on the date specified.

Hope this helps others.

(If the patch is in the wrong format, please advise
me.)

— rt-3-0-4/html/Search/Listing.html 2003-07-12
03:24:37.000000000 -0500
+++ L2.html 2003-07-16 09:20:38.000000000 -0500
@@ -98,7 +98,24 @@
$session{‘tickets’}->ClearRestrictions;
}
}
+# If the query is ‘On’ a specific date, but has no
time with it:
+if ($ARGS{DateOp} eq ‘=’ and $ARGS{ValueOfDate} !~
/:/) {

  • # Make a new date only query for After midnight.
    
  • my %tmp_args;
    
  • $tmp_args{ValueOfDate} = "$ARGS{ValueOfDate}
    

00:00";

  • $tmp_args{DateOp}      = ">";
    
  • $tmp_args{DateType}    = $ARGS{DateType};
    
  • ProcessSearchQuery(ARGS=>\%tmp_args);
    
  • # Now change the actual date restriction to
    

before midnight.

  • # Then run it with all others.
    
  • $ARGS{ValueOfDate}     = "$ARGS{ValueOfDate}
    

23:59";

  • $ARGS{DateOp}          = "<";
    
  • ProcessSearchQuery(ARGS=>\%ARGS);
    

+}
+else { # The query is not ‘On’ a specific date.
ProcessSearchQuery(ARGS=>%ARGS);
+}
$session{‘tickets’}->RedoSearch();
if ( $session{‘tickets’}->DescribeRestrictions())
{
$ticketcount = $session{tickets}->CountAll();

Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!

on_date_never_matches.patch (1.06 KB)