[rt-devel] "Found N tickets" incorrectly includes deleted tickets

Max Bowsher maxb at ukf.net
Fri Nov 7 17:06:17 EST 2003


The "Found N tickets" title erroneously includes deleted tickets which
happen to match the search criteria.
The below patch seems to fix this for me, but I don't understand the TODO
comment, so I'm not sure whether I have missed something. Does anyone have
any comments, before I send this to rt-bugs at ... ?

Max.


diff -ru rt-3-0-6-pure/lib/RT/Tickets_Overlay.pm lib/RT/Tickets_Overlay.pm
--- rt-3-0-6-pure/lib/RT/Tickets_Overlay.pm     2003-09-25
21:31:07.000000000 +
100
+++ lib/RT/Tickets_Overlay.pm   2003-11-07 18:58:41.000000000 +0000
@@ -1759,18 +1760,11 @@
        my $Ticket = $self->SUPER::Next();
        if ((defined($Ticket)) and (ref($Ticket))) {

-           #Make sure we _never_ show deleted tickets
-           #TODO we should be doing this in the where clause.
-           #but you can't do multiple clauses on the same field just yet :/
-
-           if ($Ticket->__Value('Status') eq 'deleted') {
-               return($self->Next());
-           }
             # Since Ticket could be granted with more rights instead
             # of being revoked, it's ok if queue rights allow
             # ShowTicket.  It seems need another query, but we have
             # rights cache in Principal::HasRight.
-           elsif ($Ticket->QueueObj->CurrentUserHasRight('ShowTicket') ||
+           if ($Ticket->QueueObj->CurrentUserHasRight('ShowTicket') ||
                    $Ticket->CurrentUserHasRight('ShowTicket')) {
                return($Ticket);
            }
@@ -1974,6 +1968,7 @@
     #print Dumper($data);
     push @{$clause{$realfield}}, $data;
   }
+  push @{$clause{'Status'}}, [ 'AND', 'ENUM', 'Status', '!=', 'deleted' ];
   return \%clause;
 }




More information about the Rt-devel mailing list