diff options
| author | andreykproductengine <akleshchev@productengine.com> | 2015-05-28 17:46:20 +0300 | 
|---|---|---|
| committer | andreykproductengine <akleshchev@productengine.com> | 2015-05-28 17:46:20 +0300 | 
| commit | dd3b9776d2f932c7142884b5adc5477d5cc7cf3d (patch) | |
| tree | 8db34caba1da92b3d5d122d02123933d03f04407 /indra/newview | |
| parent | b59e4a02b65480d79ca8ce9dd1859ecedeecb1e6 (diff) | |
MAINT-5227 FIXED Changing premium access of an account with > 42 groups back to basic account shows negative number of groups that they can join
Diffstat (limited to 'indra/newview')
| -rwxr-xr-x | indra/newview/llpanelpeople.cpp | 18 | ||||
| -rwxr-xr-x | indra/newview/llpanelpeople.h | 1 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/notifications.xml | 15 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/panel_people.xml | 2 | 
4 files changed, 33 insertions, 3 deletions
| diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index 5977d558d3..de4efc8612 100755 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -85,6 +85,8 @@ static const std::string RECENT_TAB_NAME	= "recent_panel";  static const std::string BLOCKED_TAB_NAME	= "blocked_panel"; // blocked avatars  static const std::string COLLAPSED_BY_USER  = "collapsed_by_user"; +const S32 BASE_MAX_AGENT_GROUPS = 42; +const S32 PREMIUM_MAX_AGENT_GROUPS = 60;  extern S32 gMaxAgentGroups; @@ -585,6 +587,7 @@ BOOL LLPanelPeople::postBuild()  	getChild<LLFilterEditor>("groups_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2));  	getChild<LLFilterEditor>("recent_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2));  	getChild<LLFilterEditor>("fbc_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2)); +	getChild<LLTextBox>("groupcount")->setURLClickedCallback(boost::bind(&LLPanelPeople::onGroupLimitInfo, this));  	mTabContainer = getChild<LLTabContainer>("tabs");  	mTabContainer->setCommitCallback(boost::bind(&LLPanelPeople::onTabSelected, this, _2)); @@ -902,8 +905,11 @@ void LLPanelPeople::updateButtons()  		LLPanel* groups_panel = mTabContainer->getCurrentPanel();  		groups_panel->getChildView("minus_btn")->setEnabled(item_selected && selected_id.notNull()); // a real group selected -		groups_panel->getChild<LLUICtrl>("groupcount")->setTextArg("[COUNT]", llformat("%d",gAgent.mGroups.size())); -		groups_panel->getChild<LLUICtrl>("groupcount")->setTextArg("[REMAINING]", llformat("%d",(gMaxAgentGroups-gAgent.mGroups.size()))); + +		U32 groups_count = gAgent.mGroups.size(); +		U32 groups_ramaining = gMaxAgentGroups > groups_count ? gMaxAgentGroups - groups_count : 0; +		groups_panel->getChild<LLUICtrl>("groupcount")->setTextArg("[COUNT]", llformat("%d", groups_count)); +		groups_panel->getChild<LLUICtrl>("groupcount")->setTextArg("[REMAINING]", llformat("%d", groups_ramaining));  	}  	else  	{ @@ -1114,6 +1120,14 @@ void LLPanelPeople::onFilterEdit(const std::string& search_string)  	}  } +void LLPanelPeople::onGroupLimitInfo() +{ +	LLSD args; +	args["MAX_BASIC"] = BASE_MAX_AGENT_GROUPS; +	args["MAX_PREMIUM"] = PREMIUM_MAX_AGENT_GROUPS; +	LLNotificationsUtil::add("GroupLimitInfo", args); +} +  void LLPanelPeople::onTabSelected(const LLSD& param)  {  	std::string tab_name = getChild<LLPanel>(param.asString())->getName(); diff --git a/indra/newview/llpanelpeople.h b/indra/newview/llpanelpeople.h index c1d7a134fa..eb7e76a772 100755 --- a/indra/newview/llpanelpeople.h +++ b/indra/newview/llpanelpeople.h @@ -93,6 +93,7 @@ private:  	// UI callbacks  	void					onFilterEdit(const std::string& search_string); +	void					onGroupLimitInfo();  	void					onTabSelected(const LLSD& param);  	void					onAddFriendButtonClicked();  	void					onAddFriendWizButtonClicked(); diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index ba8502ba81..97d1fd0c0f 100755 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -3975,6 +3975,21 @@ You have reached your maximum number of groups. Please leave some group before j    <notification     icon="alert.tga" +   name="GroupLimitInfo" +   type="alert"> +The group limit for base accounts is [MAX_BASIC], and for [https://secondlife.com/premium/ premium] +accounts is [MAX_PREMIUM]. +If you downgraded your account, you will need to get below [MAX_BASIC] group limit before you can join more. + +[https://secondlife.com/my/account/membership.php Upgrade today!] +    <tag>group</tag> +    <usetemplate +     name="okbutton" +     yestext="Close"/> +  </notification> + +  <notification +   icon="alert.tga"     name="KickUser"     type="alert">     <tag>win</tag> diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml index 2d4665c128..4fb8b9a67f 100755 --- a/indra/newview/skins/default/xui/en/panel_people.xml +++ b/indra/newview/skins/default/xui/en/panel_people.xml @@ -506,7 +506,7 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M                  left="3"                  use_ellipses="true"                  name="groupcount"> -              You belong to [COUNT] groups, and can join [REMAINING] more. +              You belong to [COUNT] groups, and can join [REMAINING] more.  [secondlife:/// Want more?]              </text>              <group_list               allow_select="true"  | 
