diff options
author | Justin Clark-Casey (justincc) | 2011-01-31 22:54:36 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-01-31 22:54:36 +0000 |
commit | 0898be5750a9e5f0cfab566a34b65e4a227d82e6 (patch) | |
tree | 3e0c819d39753798bc1e3968ee5ed78976f91476 /OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/SimianGroupsServicesConnectorModule.cs | |
parent | Flash out the prim count module (diff) | |
download | opensim-SC-0898be5750a9e5f0cfab566a34b65e4a227d82e6.zip opensim-SC-0898be5750a9e5f0cfab566a34b65e4a227d82e6.tar.gz opensim-SC-0898be5750a9e5f0cfab566a34b65e4a227d82e6.tar.bz2 opensim-SC-0898be5750a9e5f0cfab566a34b65e4a227d82e6.tar.xz |
Change SimianGroupsServicesConnectorModule.GetAgentGroupMembership() so that it returns null if the user isn't a member of the group.
This matches the behaviour of the same method for Flotsam Groups. This is the behaviour assumed by existing code.
Method doc also added to IGroupsServicesConnector to the make the contract clear.
Diffstat (limited to 'OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/SimianGroupsServicesConnectorModule.cs')
-rw-r--r-- | OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/SimianGroupsServicesConnectorModule.cs | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/SimianGroupsServicesConnectorModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/SimianGroupsServicesConnectorModule.cs index 0d265f2..81725c5 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/SimianGroupsServicesConnectorModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/SimianGroupsServicesConnectorModule.cs | |||
@@ -704,7 +704,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
704 | } | 704 | } |
705 | } | 705 | } |
706 | 706 | ||
707 | |||
708 | return findings; | 707 | return findings; |
709 | } | 708 | } |
710 | 709 | ||
@@ -712,54 +711,55 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
712 | { | 711 | { |
713 | if (m_debugEnabled) m_log.InfoFormat("[SIMIAN-GROUPS-CONNECTOR] {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); | 712 | if (m_debugEnabled) m_log.InfoFormat("[SIMIAN-GROUPS-CONNECTOR] {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); |
714 | 713 | ||
715 | GroupMembershipData data = new GroupMembershipData(); | 714 | GroupMembershipData data = null; |
716 | 715 | bool foundData = false; | |
717 | /////////////////////////////// | ||
718 | // Agent Specific Information: | ||
719 | // | ||
720 | OSDMap UserActiveGroup; | ||
721 | if (SimianGetGenericEntry(agentID, "Group", "ActiveGroup", out UserActiveGroup)) | ||
722 | { | ||
723 | data.Active = UserActiveGroup["GroupID"].AsUUID().Equals(groupID); | ||
724 | } | ||
725 | 716 | ||
726 | OSDMap UserGroupMemberInfo; | 717 | OSDMap UserGroupMemberInfo; |
727 | if (SimianGetGenericEntry(agentID, "GroupMember", groupID.ToString(), out UserGroupMemberInfo)) | 718 | if (SimianGetGenericEntry(agentID, "GroupMember", groupID.ToString(), out UserGroupMemberInfo)) |
728 | { | 719 | { |
720 | data = new GroupMembershipData(); | ||
729 | data.AcceptNotices = UserGroupMemberInfo["AcceptNotices"].AsBoolean(); | 721 | data.AcceptNotices = UserGroupMemberInfo["AcceptNotices"].AsBoolean(); |
730 | data.Contribution = UserGroupMemberInfo["Contribution"].AsInteger(); | 722 | data.Contribution = UserGroupMemberInfo["Contribution"].AsInteger(); |
731 | data.ListInProfile = UserGroupMemberInfo["ListInProfile"].AsBoolean(); | 723 | data.ListInProfile = UserGroupMemberInfo["ListInProfile"].AsBoolean(); |
732 | data.ActiveRole = UserGroupMemberInfo["SelectedRoleID"].AsUUID(); | 724 | data.ActiveRole = UserGroupMemberInfo["SelectedRoleID"].AsUUID(); |
725 | |||
726 | /////////////////////////////// | ||
727 | // Agent Specific Information: | ||
728 | // | ||
729 | OSDMap UserActiveGroup; | ||
730 | if (SimianGetGenericEntry(agentID, "Group", "ActiveGroup", out UserActiveGroup)) | ||
731 | { | ||
732 | data.Active = UserActiveGroup["GroupID"].AsUUID().Equals(groupID); | ||
733 | } | ||
733 | 734 | ||
734 | /////////////////////////////// | 735 | /////////////////////////////// |
735 | // Role Specific Information: | 736 | // Role Specific Information: |
736 | // | 737 | // |
737 | |||
738 | OSDMap GroupRoleInfo; | 738 | OSDMap GroupRoleInfo; |
739 | if (SimianGetGenericEntry(groupID, "GroupRole", data.ActiveRole.ToString(), out GroupRoleInfo)) | 739 | if (SimianGetGenericEntry(groupID, "GroupRole", data.ActiveRole.ToString(), out GroupRoleInfo)) |
740 | { | 740 | { |
741 | data.GroupTitle = GroupRoleInfo["Title"].AsString(); | 741 | data.GroupTitle = GroupRoleInfo["Title"].AsString(); |
742 | data.GroupPowers = GroupRoleInfo["Powers"].AsULong(); | 742 | data.GroupPowers = GroupRoleInfo["Powers"].AsULong(); |
743 | } | 743 | } |
744 | } | 744 | |
745 | 745 | /////////////////////////////// | |
746 | /////////////////////////////// | 746 | // Group Specific Information: |
747 | // Group Specific Information: | 747 | // |
748 | // | 748 | OSDMap GroupInfo; |
749 | OSDMap GroupInfo; | 749 | string GroupName; |
750 | string GroupName; | 750 | if (SimianGetFirstGenericEntry(groupID, "Group", out GroupName, out GroupInfo)) |
751 | if (SimianGetFirstGenericEntry(groupID, "Group", out GroupName, out GroupInfo)) | 751 | { |
752 | { | 752 | data.GroupID = groupID; |
753 | data.GroupID = groupID; | 753 | data.AllowPublish = GroupInfo["AllowPublish"].AsBoolean(); |
754 | data.AllowPublish = GroupInfo["AllowPublish"].AsBoolean(); | 754 | data.Charter = GroupInfo["Charter"].AsString(); |
755 | data.Charter = GroupInfo["Charter"].AsString(); | 755 | data.FounderID = GroupInfo["FounderID"].AsUUID(); |
756 | data.FounderID = GroupInfo["FounderID"].AsUUID(); | 756 | data.GroupName = GroupName; |
757 | data.GroupName = GroupName; | 757 | data.GroupPicture = GroupInfo["InsigniaID"].AsUUID(); |
758 | data.GroupPicture = GroupInfo["InsigniaID"].AsUUID(); | 758 | data.MaturePublish = GroupInfo["MaturePublish"].AsBoolean(); |
759 | data.MaturePublish = GroupInfo["MaturePublish"].AsBoolean(); | 759 | data.MembershipFee = GroupInfo["MembershipFee"].AsInteger(); |
760 | data.MembershipFee = GroupInfo["MembershipFee"].AsInteger(); | 760 | data.OpenEnrollment = GroupInfo["OpenEnrollment"].AsBoolean(); |
761 | data.OpenEnrollment = GroupInfo["OpenEnrollment"].AsBoolean(); | 761 | data.ShowInList = GroupInfo["ShowInList"].AsBoolean(); |
762 | data.ShowInList = GroupInfo["ShowInList"].AsBoolean(); | 762 | } |
763 | } | 763 | } |
764 | 764 | ||
765 | return data; | 765 | return data; |