Permalink
Browse files

Solve SV-2103: Estate Kick was Teleporting Home, which wasn't always …

…a kick

Estate Kick button now offers choice between Kicking Home and Kicking Out.
Estate Ban always kicks out

Translators: Please update SV-2103 in notifications.xml appropriately
  • Loading branch information...
1 parent 755d4c2 commit 9fe563c9f310d45995e115311e9360e4efadd081 @Lirusaito Lirusaito committed Jul 6, 2016
@@ -1398,7 +1398,8 @@ static void cmd_freeze(const LLAvatarListEntry* entry) { send_freeze(entry->get
static void cmd_unfreeze(const LLAvatarListEntry* entry) { send_freeze(entry->getID(), false); }
static void cmd_eject(const LLAvatarListEntry* entry) { send_eject(entry->getID(), false); }
static void cmd_ban(const LLAvatarListEntry* entry) { send_eject(entry->getID(), true); }
-static void cmd_estate_eject(const LLAvatarListEntry* entry){ send_estate_message("teleporthomeuser", entry->getID()); }
+static void cmd_estate_eject(const LLAvatarListEntry* entry){ send_estate_message("kickestate", entry->getID()); }
+static void cmd_estate_tp_home(const LLAvatarListEntry* entry){ send_estate_message("teleporthomeuser", entry->getID()); }
static void cmd_estate_ban(const LLAvatarListEntry* entry) { LLPanelEstateInfo::sendEstateAccessDelta(ESTATE_ACCESS_BANNED_AGENT_ADD | ESTATE_ACCESS_ALLOWED_AGENT_REMOVE | ESTATE_ACCESS_NO_REPLY, entry->getID()); }
void LLFloaterAvatarList::doCommand(avlist_command_t func, bool single/*=false*/) const
@@ -1469,8 +1470,9 @@ void LLFloaterAvatarList::callbackEjectFromEstate(const LLSD& notification, cons
{
if (!instanceExists()) return;
LLFloaterAvatarList& inst(instance());
- if (!LLNotification::getSelectedOption(notification, response)) // if == 0
- inst.doCommand(cmd_estate_eject);
+ S32 option = LLNotification::getSelectedOption(notification, response);
+ if (option != 2)
+ inst.doCommand(option ? cmd_estate_tp_home : cmd_estate_eject);
}
//static
@@ -9182,17 +9182,18 @@ class ListFreeze : public view_listener_t
}
};
-void estate_bulk_eject(const uuid_vec_t& ids, bool ban, S32 zero)
+void estate_bulk_eject(const uuid_vec_t& ids, bool ban, S32 option)
{
- if (ids.empty() || zero != 0) return;
+ if (ids.empty() || option == (ban ? 1 : 2)) return;
std::vector<std::string> strings(2, gAgentID.asString()); // [0] = our agent id
+ const std::string request(option == 1 ? "teleporthomeuser" : "kickestate");
for (uuid_vec_t::const_iterator it = ids.begin(); it != ids.end(); ++it)
{
LLUUID id(*it);
if (id.isNull()) continue;
strings[1] = id.asString(); // [1] = target agent id
- LLRegionInfoModel::sendEstateOwnerMessage(gMessageSystem, "teleporthomeuser", LLFloaterRegionInfo::getLastInvoice(), strings);
+ LLRegionInfoModel::sendEstateOwnerMessage(gMessageSystem, request, LLFloaterRegionInfo::getLastInvoice(), strings);
if (ban)
LLPanelEstateInfo::sendEstateAccessDelta(ESTATE_ACCESS_BANNED_AGENT_ADD | ESTATE_ACCESS_ALLOWED_AGENT_REMOVE | ESTATE_ACCESS_NO_REPLY, id);
}
@@ -4164,9 +4164,10 @@ Remove estate manager for this estate only or for [ALL_ESTATES]?
Kick [EVIL_USER] from this estate?
<tag>confirm</tag>
<usetemplate
- name="okcancelbuttons"
- notext="Cancel"
- yestext="OK"/>
+ canceltext="Cancel"
+ name="yesnocancelbuttons"
+ notext="Kick Home"
+ yestext="Kick"/>
</notification>
<notification

0 comments on commit 9fe563c

Please sign in to comment.