X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Flib%2FRT%2FSearch%2FUnrepliedTickets.pm;h=0328983914c0a9247033ad41c89d2bafa0e5934d;hb=c22d84e565ab16db142395dce2e8621624eff140;hp=4bb59d9e32fb4ed9a40fe5362577110a0748ad98;hpb=9456eceed9d729643d1bec05ed1b380bbd1bc8ab;p=freeside.git diff --git a/rt/lib/RT/Search/UnrepliedTickets.pm b/rt/lib/RT/Search/UnrepliedTickets.pm index 4bb59d9e3..032898391 100644 --- a/rt/lib/RT/Search/UnrepliedTickets.pm +++ b/rt/lib/RT/Search/UnrepliedTickets.pm @@ -30,20 +30,22 @@ sub Prepare { my $self = shift; my $TicketsObj = $self->TicketsObj; - $TicketsObj->Limit( - FIELD => 'Owner', - VALUE => $TicketsObj->CurrentUser->id - ); - $TicketsObj->Limit( - FIELD => 'Status', - OPERATOR => '!=', - VALUE => 'resolved' - ); - $TicketsObj->Limit( - FIELD => 'Status', - OPERATOR => '!=', - VALUE => 'rejected', - ); + # if SystemUser does this search (as in QueueSummaryByLifecycle), they + # should get all tickets regardless of ownership + if ($TicketsObj->CurrentUser->id != RT->SystemUser->id) { + $TicketsObj->Limit( + FIELD => 'Owner', + VALUE => $TicketsObj->CurrentUser->id + ); + } + foreach my $status (qw(resolved rejected deleted)) { + $TicketsObj->Limit( + FIELD => 'Status', + OPERATOR => '!=', + ENTRYAGGREGATOR => 'AND', + VALUE => $status, + ); + } my $txn_alias = $TicketsObj->JoinTransactions; $TicketsObj->Limit( ALIAS => $txn_alias,