[rt-users] Creating Group and giving Rights.

Jarno Huuskonen jarno.huuskonen at uef.fi
Mon Feb 1 01:31:27 EST 2010


Hi,

> On Friday, 29. January 2010 13:15:37 JJussi wrote:
> Hi to list,
> (I'm not very good Perl programmer, so this question may be (too) simple)
> 
> I can create group easily:
> 
> my $group = new RT::Group($RT::SystemUser);
> my $gid = $group->CreateUserDefinedGroup(
>       Name              => $vars{nimi},
>       Description       => $vars{kuvaus},
>     );
> 
> To give rights to that group I (try) to use:
> 
> my @gacl=('ShowTicket','CreateTicket','SeeQueue','ReplyToTicket');
> my $principal = new RT::Principal($RT::SystemUser);
> my $pid = $principal->Create(
>       PrincipalType => 'Group',
>       ObjectId => $gid,
>       Disabled => '0',
>     );
> 
> foreach (@gacl)
>     {
>       $xxx->GrandRight( Right => $_, Object => $gid);
>     }
> 
> That $xxx is problem.. I need Principal-Object there, but
> CreateUserDefinedGroup returns GroupID. How I can get that Object?

What are you trying to achieve ? Are you trying to give the new group
permissions to some queueu ?

Something like this works for me:

my $queue = RT::Queue->new($RT::SystemUser);
$queue->Load($queuename);

foreach my $tmp_right (@group_rights) {
        my ($status, $msg) = $group->PrincipalObj->GrantRight(
                Right => $tmp_right,
                Object => $queue);

}

-- 
Jarno Huuskonen



More information about the rt-users mailing list