public bool AddAgentToGroupInvite(string RequestingAgentID, UUID inviteID, UUID groupID, UUID roleID, string agentID) { // Check whether the invitee is already a member of the group MembershipData m = m_Database.RetrieveMember(groupID, agentID); if (m != null) return false; // Check permission to invite if (!HasPower(RequestingAgentID, groupID, GroupPowers.Invite)) { m_log.DebugFormat("[Groups]: ({0}) Attempt at inviting to group {1} denied because of lack of permission", RequestingAgentID, groupID); return false; } // Check whether there are pending invitations and delete them InvitationData invite = m_Database.RetrieveInvitation(groupID, agentID); if (invite != null) m_Database.DeleteInvite(invite.InviteID); invite = new InvitationData(); invite.InviteID = inviteID; invite.PrincipalID = agentID; invite.GroupID = groupID; invite.RoleID = roleID; invite.Data = new Dictionary<string, string>(); return m_Database.StoreInvitation(invite); }
private bool AddAgentToGroupInvite(UUID inviteID, UUID groupID, string agentID) { // Check whether the invitee is already a member of the group MembershipData m = m_Database.RetrieveMember(groupID, agentID); if (m != null) return false; // Check whether there are pending invitations and delete them InvitationData invite = m_Database.RetrieveInvitation(groupID, agentID); if (invite != null) m_Database.DeleteInvite(invite.InviteID); invite = new InvitationData(); invite.InviteID = inviteID; invite.PrincipalID = agentID; invite.GroupID = groupID; invite.RoleID = UUID.Zero; invite.Data = new Dictionary<string, string>(); return m_Database.StoreInvitation(invite); }