diff options
Diffstat (limited to 'rt/lib/RT/Group_Overlay.pm')
-rw-r--r-- | rt/lib/RT/Group_Overlay.pm | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/rt/lib/RT/Group_Overlay.pm b/rt/lib/RT/Group_Overlay.pm index 92150255f..f71fe7f7e 100644 --- a/rt/lib/RT/Group_Overlay.pm +++ b/rt/lib/RT/Group_Overlay.pm @@ -1,3 +1,4 @@ + # BEGIN LICENSE BLOCK # # Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> @@ -327,8 +328,6 @@ sub LoadSystemInternalGroup { my $identifier = shift; $self->LoadByCols( "Domain" => 'SystemInternal', - "Instance" => '', - "Name" => '', "Type" => $identifier ); } @@ -350,7 +349,7 @@ Takes a param hash with 2 parameters: sub LoadTicketRoleGroup { my $self = shift; - my %args = (Ticket => undef, + my %args = (Ticket => '0', Type => undef, @_); $self->LoadByCols( Domain => 'RT::Ticket-Role', @@ -444,7 +443,7 @@ sub _Create { Description => undef, Domain => undef, Type => undef, - Instance => undef, + Instance => '0', InsideTransaction => undef, @_ ); @@ -466,7 +465,7 @@ sub _Create { Description => $args{'Description'}, Type => $args{'Type'}, Domain => $args{'Domain'}, - Instance => $args{'Instance'} + Instance => ($args{'Instance'} || '0') ); my $id = $self->Id; unless ($id) { @@ -798,22 +797,14 @@ sub UserMembersObj { #If we don't have rights, don't include any results # TODO XXX WHY IS THERE NO ACL CHECK HERE? - my $principals = $users->NewAlias('Principals'); - - $users->Join(ALIAS1 => 'main', FIELD1 => 'id', - ALIAS2 => $principals, FIELD2 => 'ObjectId'); - $users->Limit(ALIAS =>$principals, - FIELD => 'PrincipalType', OPERATOR => '=', VALUE => 'User'); - my $cached_members = $users->NewAlias('CachedGroupMembers'); $users->Join(ALIAS1 => $cached_members, FIELD1 => 'MemberId', - ALIAS2 => $principals, FIELD2 => 'id'); + ALIAS2 => $users->PrincipalsAlias, FIELD2 => 'id'); $users->Limit(ALIAS => $cached_members, FIELD => 'GroupId', OPERATOR => '=', VALUE => $self->PrincipalId); - return ( $users); } @@ -1009,6 +1000,10 @@ sub HasMember { return(undef); } + unless ($principal->Id) { + return(undef); + } + my $member_obj = RT::GroupMember->new( $self->CurrentUser ); $member_obj->LoadByCols( MemberId => $principal->id, GroupId => $self->PrincipalId ); |