-sub DeleteMember {
- my $self = shift;
- my $member = shift;
-
- unless ($self->CurrentUser->HasSystemRight('AdminGroups')) {
- #User has no permission to be doing this
- return(0,"Permission Denied");
- }
-
- my $member_user_obj = new RT::User($self->CurrentUser);
- $member_user_obj->Load($member);
-
- unless ($member_user_obj->Id) {
- $RT::Logger->debug("Couldn't find user $member");
- return(0, "User not found");
- }
-
- my $member_obj = new RT::GroupMember($self->CurrentUser);
- unless ($member_obj->LoadByCols ( UserId => $member_user_obj->Id,
- GroupId => $self->Id )) {
- return(0, "Couldn\'t load member"); #couldn\'t load member object
- }
-
- #If we couldn't load it, return undef.
- unless ($member_obj->Id()) {
- return (0, "Group has no such member");
- }
-
- #Now that we've checked ACLs and sanity, delete the groupmember
- my $val = $member_obj->Delete();
- if ($val) {
- return ($val, "Member deleted");
- }
- else {
- return (0, "Member not deleted");
- }
-}