thanks jason unfortunately this will not work for me as we have rights to take tickets in all queues. i think the best way is for the search to decipher which group the user belongs to and then show only what the group can see.
On 9/21/07, Jason Long <[EMAIL PROTECTED]> wrote: > >>>> "slamp slamp" <[EMAIL PROTECTED]> 9/20/07 11:01 AM >>> > >Can anyone point me on how to build a search to search for unowned > >tickets but only to the groups you belong to? > > > >we have multiple groups, one group has access to every queue and when > >i build a search for all unowned tickets, all tickets from different > >queues are shown. the reason for this is we want this one group to > >manage all other groups/queues but not necessarily the tickets > >themselves. > > > > The following patch may or may not be helpful... I created this a while ago > to address a similar complaint about the "newest unowned tickets" list. You > could use the "Take" right to determine which queues different groups should > see. > Jason > > > > >>> Jason Long <[EMAIL PROTECTED]> 9/21/07 8:43 AM >>> > This patch changes the behavior of the "newest unowned tickets list" > to limit the query to queues where the user has the "take" right. > > It's kind of a hack, since it is logic that triggers based on the > name of the query: "Unowned Tickets". > > This solves two problems: > > 1. formerly, if the 10 newest tickets were tickets the user couldn't > see, the "10 newest unowned tickets" box would be blank, even > if there were other tickets that he could see > > 2. formerly, the "10 newest unowned tickets" would display tickets in > all queues the current user could see, not just queues that the > current user might be interested in > > This creates a potential new issue: > > * if your RT system has many queues, and the current user can "take" > tickets in many of those queues, you may experience performance > issues. > --- > > html/Elements/ShowSearch | 22 ++++++++++++++++++++++ > 1 files changed, 22 insertions(+), 0 deletions(-) > > diff --git a/html/Elements/ShowSearch b/html/Elements/ShowSearch > index ded865b..d50a8b9 100644 > --- a/html/Elements/ShowSearch > +++ b/html/Elements/ShowSearch > @@ -93,6 +93,28 @@ if ($SavedSearch) { > } > > $SearchArg = $user->Preferences( $search, $search->Content ); > + if ($Name eq "Unowned Tickets") > + { > + # list of queues on system > + my $queues = RT::Queues->new($session{CurrentUser}); > + $queues->UnLimit; > + my @queues; > + while (my $queue = $queues->Next) { push @queues, $queue; }; > + > + # determine which queues the current user has "TakeTicket" right > + my $principal = $session{CurrentUser}->PrincipalObj; > + @queues = grep { $principal->HasRight( > + Object => $_, > + Right => "TakeTicket") } @queues; > + if (@queues) > + { > + $SearchArg->{'Query'} .= > + ' AND ( ' > + . join(' OR ', > + map { "'Queue' = '" . $_->Name . "'" } @queues) > + . ' ) '; > + } > + } > $customize = $RT::WebPath . '/Prefs/Search.html?' > . $m->comp( '/Elements/QueryString', > name => ref($search) . '-' . $search->Id ); > > _______________________________________________ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: [EMAIL PROTECTED] Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com