summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Group_Overlay.pm
diff options
context:
space:
mode:
Diffstat (limited to 'rt/lib/RT/Group_Overlay.pm')
-rw-r--r--rt/lib/RT/Group_Overlay.pm23
1 files changed, 9 insertions, 14 deletions
diff --git a/rt/lib/RT/Group_Overlay.pm b/rt/lib/RT/Group_Overlay.pm
index 9215025..f71fe7f 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 );