SYNOPSIS

RT::GroupMember should never be called directly. It should ONLY only be accessed through the helper functions in RT::Group;

If you're operating on an RT::GroupMember object yourself, you ARE doing something wrong.

DESCRIPTION

METHODS

Create { Group => undef, Member => undef }

Add a Principal to the group Group. if the Principal is a group, automatically inserts all members of the principal into the cached members table recursively down.

Both Group and Member are expected to be RT::Principal objects

_StashUser PRINCIPAL

Create { Group => undef, Member => undef }

Creates an entry in the groupmembers table, which lists a user as a member of himself. This makes ACL checks a whole bunch easier. This happens once on user create and never ever gets yanked out.

PRINCIPAL is expected to be an RT::Principal object for a user

This routine expects to be called inside a transaction by RT::User->Create

Delete

Takes no arguments. deletes the currently loaded member from the group in question.

Expects to be called _outside_ a transaction

MemberObj

Returns an RT::Principal object for the Principal specified by $self->PrincipalId

GroupObj

Returns an RT::Principal object for the Group specified in $self->GroupId