+
# BEGIN LICENSE BLOCK
#
# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
my $identifier = shift;
$self->LoadByCols( "Domain" => 'SystemInternal',
- "Instance" => '',
- "Name" => '',
"Type" => $identifier );
}
sub LoadTicketRoleGroup {
my $self = shift;
- my %args = (Ticket => undef,
+ my %args = (Ticket => '0',
Type => undef,
@_);
$self->LoadByCols( Domain => 'RT::Ticket-Role',
Description => undef,
Domain => undef,
Type => undef,
- Instance => undef,
+ Instance => '0',
InsideTransaction => undef,
@_
);
Description => $args{'Description'},
Type => $args{'Type'},
Domain => $args{'Domain'},
- Instance => $args{'Instance'}
+ Instance => ($args{'Instance'} || '0')
);
my $id = $self->Id;
unless ($id) {
#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);
}
return(undef);
}
+ unless ($principal->Id) {
+ return(undef);
+ }
+
my $member_obj = RT::GroupMember->new( $self->CurrentUser );
$member_obj->LoadByCols( MemberId => $principal->id,
GroupId => $self->PrincipalId );