diff options
Diffstat (limited to 'indra')
| -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">  | 
