diff options
author | dolphin <dolphin@lindenlab.com> | 2014-03-12 09:50:08 -0700 |
---|---|---|
committer | dolphin <dolphin@lindenlab.com> | 2014-03-12 09:50:08 -0700 |
commit | 9fe5728b4385ead4a4c74eed7917d93060510cdb (patch) | |
tree | f8b0469ca14ce93f6b16215190a845cf963394cb | |
parent | 34c12d009c232917732e6eeb452da7e76b2ee12e (diff) |
Show ignored items when updating an experience profile
-rw-r--r-- | indra/newview/llfloaterexperienceprofile.cpp | 35 | ||||
-rw-r--r-- | indra/newview/llpanelexperiencelisteditor.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llpanelexperiences.cpp | 2 | ||||
-rwxr-xr-x | indra/newview/skins/default/xui/en/notifications.xml | 38 |
4 files changed, 74 insertions, 3 deletions
diff --git a/indra/newview/llfloaterexperienceprofile.cpp b/indra/newview/llfloaterexperienceprofile.cpp index e5574be4f0..1c01a4bb9f 100644 --- a/indra/newview/llfloaterexperienceprofile.cpp +++ b/indra/newview/llfloaterexperienceprofile.cpp @@ -49,6 +49,7 @@ #include "llviewerregion.h" #include "llevents.h" #include "llfloatergroups.h" +#include "llnotifications.h" #define XML_PANEL_EXPERIENCE_PROFILE "floater_experienceprofile.xml" #define TF_NAME "experience_title" @@ -85,7 +86,6 @@ #define BTN_SET_GROUP "Group_btn" - class LLExperienceHandler : public LLCommandHandler { public: @@ -722,6 +722,10 @@ void LLFloaterExperienceProfile::doSave( int success_action ) std::string url=region->getCapability("UpdateExperience"); if(url.empty()) return; + + mPackage.erase(LLExperienceCache::QUOTA); + mPackage.erase(LLExperienceCache::EXPIRES); + mPackage.erase(LLExperienceCache::AGENT_ID); LLHTTPClient::post(url, mPackage, new ExperienceUpdateResponder(getDerivedHandle<LLFloaterExperienceProfile>())); } @@ -730,6 +734,35 @@ void LLFloaterExperienceProfile::onSaveComplete( const LLSD& content ) { LLUUID id = getExperienceId(); + if(content.has("removed")) + { + const LLSD& removed = content["removed"]; + LLSD::map_const_iterator it = removed.beginMap(); + for(/**/; it != removed.endMap(); ++it) + { + const std::string& field = it->first; + if(field == LLExperienceCache::EXPERIENCE_ID) + { + //this message should be removed by the experience api + continue; + } + const LLSD& data = it->second; + std::string error_tag = data["error_tag"].asString()+ "ExperienceProfileMessage"; + LLSD fields; + if( LLNotifications::instance().getTemplate(error_tag)) + { + fields["field"] = field; + fields["extra_info"] = data["extra_info"]; + LLNotificationsUtil::add(error_tag, fields); + } + else + { + fields["MESSAGE"]=data["en"]; + LLNotificationsUtil::add("GenericAlert", fields); + } + } + } + if(!content.has("experience_keys")) { llwarns << "LLFloaterExperienceProfile::onSaveComplete called with bad content" << llendl; diff --git a/indra/newview/llpanelexperiencelisteditor.cpp b/indra/newview/llpanelexperiencelisteditor.cpp index 374f89afad..37394936ee 100644 --- a/indra/newview/llpanelexperiencelisteditor.cpp +++ b/indra/newview/llpanelexperiencelisteditor.cpp @@ -38,7 +38,7 @@ #include "llagent.h" -static LLRegisterPanelClassWrapper<LLPanelExperienceListEditor> t_panel_experience_list_editor("panel_experience_list_editor"); +static LLPanelInjector<LLPanelExperienceListEditor> t_panel_experience_list_editor("panel_experience_list_editor"); LLPanelExperienceListEditor::LLPanelExperienceListEditor() diff --git a/indra/newview/llpanelexperiences.cpp b/indra/newview/llpanelexperiences.cpp index f1d6ea09ed..0d67dbf916 100644 --- a/indra/newview/llpanelexperiences.cpp +++ b/indra/newview/llpanelexperiences.cpp @@ -38,7 +38,7 @@ #include "lllayoutstack.h" -static LLRegisterPanelClassWrapper<LLPanelExperiences> register_experiences_panel("experiences_panel"); +static LLPanelInjector<LLPanelExperiences> register_experiences_panel("experiences_panel"); LLPanelExperiences::LLPanelExperiences( ) diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index b7d5940434..e0cc2229d5 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -7006,10 +7006,48 @@ Unable to acquire a new experience: yestext="OK"/> </notification> + <notification + icon="notify.tga" + name="NotInGroupExperienceProfileMessage" + persist="false" + type="notify"> + A change to the experience group was ignored because the owner is not a member of the selected group. + </notification> + + <notification + icon="notify.tga" + name="UneditableExperienceProfileMessage" + persist="false" + type="notify"> + The uneditable field '[field]' was ignored when updating the experience profile. + </notification> + + <notification + icon="notify.tga" + name="RestrictedToOwnerExperienceProfileMessage" + persist="false" + type="notify"> + Ignored changes to the field '[field]' which can only be set by the experience owner. + </notification> + <notification + icon="notify.tga" + name="MaturityRatingExceedsOwnerExperienceProfileMessage" + persist="false" + type="notify"> + You may not set the maturity rating of an experience higher than that of the owner. + </notification> <notification icon="notify.tga" + name="RestrictedTermExperienceProfileMessage" + persist="false" + type="notify"> + The following terms prevented the update of the experience profile name and/or description: [extra_info] + </notification> + + <notification + icon="notify.tga" name="TeleportedHomeExperienceRemoved" persist="false" type="notify"> |