[rt-users] How to set Global rights in Perl? (How do I get "global" into an object)

Kevin Falcone falcone at bestpractical.com
Wed Dec 30 15:25:36 EST 2009


On Wed, Dec 30, 2009 at 10:47:08AM -0500, Johnathan Bell wrote:
> I've written a script that will process an ACL-like file and set a number of permissions on our RT server, but currently I have this only working for specific queues. How can I make this work for global rights? Currently, I have it working as such:
> 
> --snip--
> # $groupName and $queueName are specified in the function parameters. Assume they're correct.
> # $status and $msg are also defined globals.
> my $groupObj = new RT::Group($currentUser);
> my $queueObj = new RT::Queue($currentUser);
> 
> # Load our RT queue
> ($status, $msg) = $queueObj->Load($queueName);
> 
> # Do one of these based on the type of group:
> ($status, $msg) = $groupObj->LoadUserDefinedGroup($groupName);
> ($status, $msg) = $groupObj->LoadQueueRoleGroup(Queue => $queueObj->id, Type => $groupName);
> ($status, $msg) = $groupObj->LoadSystemInternalGroup($groupName);
> 
> ($status, $msg) = $groupObj->PrincipalObj->GrantRight(
>     Right => $rightName,
>     Object => $queueObj);
> --snip--
> 
> I know that GrantRight takes a string "RightName" and an object to apply the right to and for. Can I use the same "$groupObj->PrinciplaObj->GrantRight("RightName", $object) to specify global rights? How do I get "global" into an object?

You probably want the $RT::System object

-kevin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20091230/38c92025/attachment.sig>


More information about the rt-users mailing list