[rt-users] RT At A Glance
slamp slamp
slackamp at gmail.com
Fri Sep 28 12:53:19 EDT 2007
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 <jlong at messiah.edu> wrote:
> >>>> "slamp slamp" <slackamp at gmail.com> 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 <jlong at messiah.edu> 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 );
>
>
More information about the rt-users
mailing list