[rt-users] prevent moving tickets to a queue, but still make the queue visible?

Emmanuel Lacour elacour at easter-eggs.com
Thu Jul 28 03:14:17 EDT 2016


Le 27/07/2016 à 22:09, David Parter a écrit :
> I have searched, and experimented, but have not found the answer.
> 
> I want to prevent anyone except a specific group moving tickets to a
> particular queue, but I still want that queue and the tickets in the
> queue to be visible to other groups. Most of our queues should not be
> restricted.
> 
> It seems that the permission that controls moving a ticket to a
> different queue is "modify tickets" which is based on the queue that the
> ticket is currently in, not the queue that the ticket is moving to.
> 

yes

> Is there a way to do that? Any advice or ideas would be appreciated.
> 

the needed right is not easy to implement in RT because there is needed
parameter such as grant right "MoveTicket" on a queue with parameter
such as "from" or "to".

Thought you can prevent your users from doing this on the UI with two
methods:


Using lifecycles:

- create two lifecycles in your config, with same status/transitions if
needed, but different names, one for each queue. And *do not set a
mapping*  between those lifecycles. RT will refuse to move tickets
between the queues. But no one will be able to move them.

Using callbacks:

use callbacks such as
rt/local/html/Callbacks/YourOrg/Ticket/Modify.html/Default

and in this callback, check if there is a queue change
($$ARGSRef{Queue}), and if so, get groups for $session{'CurrentUser'}
and if the user is not in the allowed group, push a message in @$results
and block update with $$skip_update = 1


you may have to do this in one or two other places such as
Search/Bulk.html and Ticket/ModifyAll.html I suppose.





More information about the rt-users mailing list