import rt 3.6.6
[freeside.git] / rt / lib / RT / Search / Googleish.pm
index a7a1d3e..a2a8873 100644 (file)
@@ -74,6 +74,16 @@ use strict;
 use base qw(RT::Search::Generic);
 
 
+# sub _Init {{{
+sub _Init {
+    my $self = shift;
+    my %args = @_;
+
+    $self->{'Queues'} = delete($args{'Queues'}) || [];
+    $self->SUPER::_Init(%args);
+}
+# }}}
+
 # {{{ sub Describe 
 sub Describe  {
   my $self = shift;
@@ -141,6 +151,13 @@ sub QueryToSQL {
         }
     }
 
+    # restrict to any queues requested by the caller
+    for my $queue (@{ $self->{'Queues'} }) {
+        my $QueueObj = RT::Queue->new($self->TicketsObj->CurrentUser);
+        $QueueObj->Load($queue) or next;
+        push @queue_clauses, "Queue = '" . $QueueObj->Name . "'";
+    }
+
     push @tql_clauses, join( " OR ", sort @id_clauses );
     push @tql_clauses, join( " OR ", sort @owner_clauses );
     push @tql_clauses, join( " OR ", sort @status_clauses );