# Is there a queue named $key?
elsif ( $Queue = RT::Queue->new( $self->TicketsObj->CurrentUser )
- and $Queue->Load($key) )
+ and $Queue->Load($key)
+ and $Queue->id )
{
my $quoted_queue = $Queue->Name;
$quoted_queue =~ s/'/\\'/g;
# Is there a owner named $key?
elsif ( $User = RT::User->new( $self->TicketsObj->CurrentUser )
and $User->Load($key)
+ and $User->id
and $User->Privileged )
{
push @owner_clauses, "Owner = '" . $User->Name . "'";
push @queue_clauses, "Queue = '$quoted_queue'";
}
+ if ( ! @status_clauses
+ and ! RT->Config->Get('SimpleSearchIncludeResolved') ) {
+ # implicitly exclude resolved status
+ @status_clauses = map "Status = '$_'", RT::Queue->ActiveStatusArray();
+ }
+
push @tql_clauses, join( " OR ", sort @id_clauses );
push @tql_clauses, join( " OR ", sort @owner_clauses );
- if ( ! @status_clauses ) {
- push @tql_clauses, join( " OR ", map "Status = '$_'", RT::Queue->ActiveStatusArray());
- } else {
- push @tql_clauses, join( " OR ", sort @status_clauses );
- }
+ push @tql_clauses, join( " OR ", sort @status_clauses );
push @tql_clauses, join( " OR ", sort @user_clauses );
push @tql_clauses, join( " OR ", sort @queue_clauses );
@tql_clauses = grep { $_ ? $_ = "( $_ )" : undef } @tql_clauses;