How ACL/E info needed and question about accessing a queue in Perl API?

I’m trying to modify some ACL’s from a script. In particular, the user-
created group access rights for queues. Looking at the database, and
docs, it seems that ACE’s only reference PrincipalID’s.

My first question is, is what I just said true? Second, does the Id()
function of many (all?) objects return the same ID that needs to go
into the ACE in the ACL? Third… How do I load an existing queue in
the Perl API? For instance, to load a Group, I can:

–snip–
my $groupObj = new RT::Group($currentUser);
$groupObj->LoadUserDefinedGroup($groupName);
–/snip–

and then reference the $groupObj for it’s name, id, members, and so
on… How can I do this for a queue?

Is there something similar for queues, or do I need to attack this
from a different angle? The docs for queue and queues don’t indicate
this is so, so I’m guessing that I need to go some other route. How do
I go about getting a queue into an RT::Queue variable?

thanks,
Johnathan

Johnathan Bell
Internet System Administrator, Baker College

I’m trying to modify some ACL’s from a script. In particular, the user-
created group access rights for queues. Looking at the database, and
docs, it seems that ACE’s only reference PrincipalID’s.

Example of adding ACL you can find in lib/RT/Handle.pm, there is big
funtions that turns etc/initialdata files into records in the DB.
Also, search for GrantRight method that is more suitable.

My first question is, is what I just said true? Second, does the Id()
function of many (all?) objects return the same ID that needs to go
into the ACE in the ACL? Third… How do I load an existing queue in
the Perl API? For instance, to load a Group, I can:

–snip–
my $groupObj = new RT::Group($currentUser);
$groupObj->LoadUserDefinedGroup($groupName);
–/snip–

and then reference the $groupObj for it’s name, id, members, and so
on… How can I do this for a queue?
Pretty similar using ->Load method:

my $queue_obj = RT::Queue->new( $current_user );
$queue_obj->Load( $name || $qid );

Is there something similar for queues, or do I need to attack this
from a different angle? The docs for queue and queues don’t indicate
this is so, so I’m guessing that I need to go some other route. How do
I go about getting a queue into an RT::Queue variable?

thanks,
Johnathan


Johnathan Bell
Internet System Administrator, Baker College


The rt-users Archives

Community help: http://wiki.bestpractical.com
Commercial support: sales@bestpractical.com

Discover RT’s hidden secrets with RT Essentials from O’Reilly Media.
Buy a copy at http://rtbook.bestpractical.com

Best regards, Ruslan.

Thanks again, that worked! You’ve been indispensable with these
questions!

  • JohnathanOn Jun 16, 2009, at 11:25 AM, Ruslan Zakirov wrote:

On Tue, Jun 16, 2009 at 7:14 PM, Johnathan Bell<johnathan.bell@baker.edu wrote:

I’m trying to modify some ACL’s from a script. In particular, the
user-
created group access rights for queues. Looking at the database, and
docs, it seems that ACE’s only reference PrincipalID’s.

Example of adding ACL you can find in lib/RT/Handle.pm, there is big
funtions that turns etc/initialdata files into records in the DB.
Also, search for GrantRight method that is more suitable.

My first question is, is what I just said true? Second, does the Id()
function of many (all?) objects return the same ID that needs to go
into the ACE in the ACL? Third… How do I load an existing queue in
the Perl API? For instance, to load a Group, I can:

–snip–
my $groupObj = new RT::Group($currentUser);
$groupObj->LoadUserDefinedGroup($groupName);
–/snip–

and then reference the $groupObj for it’s name, id, members, and so
on… How can I do this for a queue?
Pretty similar using ->Load method:

my $queue_obj = RT::Queue->new( $current_user );
$queue_obj->Load( $name || $qid );

Is there something similar for queues, or do I need to attack this
from a different angle? The docs for queue and queues don’t indicate
this is so, so I’m guessing that I need to go some other route. How
do
I go about getting a queue into an RT::Queue variable?

thanks,
Johnathan


Johnathan Bell
Internet System Administrator, Baker College


The rt-users Archives

Community help: http://wiki.bestpractical.com
Commercial support: sales@bestpractical.com

Discover RT’s hidden secrets with RT Essentials from O’Reilly Media.
Buy a copy at http://rtbook.bestpractical.com


Best regards, Ruslan.

Johnathan Bell
Internet System Administrator, Baker College