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

Johnathan Bell johnathan.bell at baker.edu
Wed Dec 30 10:47:08 EST 2009


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?
--
Johnathan Bell
Internet System Administrator, Baker College


More information about the rt-users mailing list