[Rt-devel] [BUG ?] When zero is one.
Todd Chapman
todd at chaka.net
Thu Oct 13 21:55:05 EDT 2005
And what will the Instance for the General queue become?
I worked around it with:
ref($object) =~ /::System$/ ? 0 : $object->id;
On Thu, Oct 13, 2005 at 08:27:00PM -0400, Jesse Vincent wrote:
> 'Bad design'
> It should get fixed, but probably for 3.7.
>
> I think 1 is the right value longterm as a 0 value can be confused for an empty value rather easily.
> Jesse
>
> Best,
> Jesse
>
> -----Original Message-----
> From: Todd Chapman <todd at chaka.net>
> Date: Thursday, Oct 13, 2005 6:53 pm
> Subject: [Rt-devel] [BUG ?] When zero is one.
>
> Jesse and all,
>
> Why doesn RT::System::id return 1 when in the Groups table all
> the Role groups for the RT::System Domain have Instance set to 1?
>
> This bit me because I was building an ACL query (as Jesse mentioned) and I needed the principal Id for the correct role account.
>
> This seems to be the one case where the object id and the instance
> are not the same.
>
> Am I missing something?
>
> Thanks.
>
> sub _RealPrincipal {
> my $self = shift;
>
> my %args = @_;
> #get the real principal
> my $groups = RT::Groups->new($RT::SystemUser);
> $groups->Limit(FIELD => 'Domain', VALUE => ref($args{Object}) . '-Role' );
> $groups->Limit(FIELD => 'Instance', VALUE => $args{Object}->id );
> $groups->Limit(FIELD => 'Type', VALUE => $self->{Role} );
>
> if ($groups->Count) {
> return $groups->First->PrincipalObj;
> }
> else {
> $RT::Logger->debug("No group found for Domain: " . ref($args{Object}) . '-Role Instance: ' . $args{Object}->id . ' Type: ' . $self->{Role});
> }
> return;
> }
>
> _______________________________________________
> Rt-devel mailing list
> Rt-devel at lists.bestpractical.com
> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-devel
>
>
More information about the Rt-devel
mailing list