MAINT-889 Viewer Group Invitation picker needs to limit to 100 residents

Requests to invite more than 100 agents at a time are blocked.
reviewed with Simon.
meow-7.2.2
Kelly Washington 2012-06-27 17:07:30 -07:00
parent 1ca7d3a57e
commit 37f73782d2
2 changed files with 17 additions and 0 deletions

View File

@ -83,6 +83,7 @@ public:
LLTextBox *mGroupName;
std::string mOwnerWarning;
std::string mAlreadyInGroup;
std::string mTooManySelected;
bool mConfirmedOwnerInvite;
void (*mCloseCallback)(void* data);
@ -185,6 +186,17 @@ void LLPanelGroupInvite::impl::submitInvitations()
role_member_pairs[item->getUUID()] = role_id;
}
const S32 MAX_GROUP_INVITES = 100; // Max invites per request. 100 to match server cap.
if (role_member_pairs.size() > MAX_GROUP_INVITES)
{
// Fail!
LLSD msg;
msg["MESSAGE"] = mTooManySelected;
LLNotificationsUtil::add("GenericAlert", msg);
(*mCloseCallback)(mCloseCallbackUserData);
return;
}
LLGroupMgr::getInstance()->sendGroupMemberInvites(mGroupID, role_member_pairs);
if(already_in_group)
@ -621,6 +633,7 @@ BOOL LLPanelGroupInvite::postBuild()
mImplementation->mOwnerWarning = getString("confirm_invite_owner_str");
mImplementation->mAlreadyInGroup = getString("already_in_group");
mImplementation->mTooManySelected = getString("invite_selection_too_large");
update();

View File

@ -19,6 +19,10 @@
name="already_in_group">
Some Residents you chose are already in the group, and so were not sent an invitation.
</panel.string>
<panel.string
name="invite_selection_too_large">
Group Invitations not sent: too many Residents selected. Group Invitations are limited to 100 per request.
</panel.string>
<text
type="string"
length="1"