summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAsaad Mahmood <Unknowngi@live.com>2015-07-31 15:59:11 +0500
committerAsaad Mahmood <Unknowngi@live.com>2015-07-31 15:59:11 +0500
commitad0231f27555300b070cff54d51a2bc93f20c8ba (patch)
tree1b057f2bb8cbe15e586c12f16c175ad05aa3c912
parentb6018c390fc935e09ba2ba87a4ae44caaa380ba6 (diff)
parent8265e5ed8215dcf0cf4ca3438f5f2e62576656fe (diff)
downloadchat-ad0231f27555300b070cff54d51a2bc93f20c8ba.tar.gz
chat-ad0231f27555300b070cff54d51a2bc93f20c8ba.tar.bz2
chat-ad0231f27555300b070cff54d51a2bc93f20c8ba.zip
Merge branch 'master' of https://github.com/mattermost/platform
-rw-r--r--README.md4
-rw-r--r--api/team.go21
-rw-r--r--web/react/components/sidebar_header.jsx19
3 files changed, 35 insertions, 9 deletions
diff --git a/README.md b/README.md
index f0857e99d..4ba3de128 100644
--- a/README.md
+++ b/README.md
@@ -19,8 +19,8 @@ Learn More
<li/>Make a pull request: http://www.mattermost.org/contribute-to-mattermost/</li>
</ul>
-Installing the Mattermost
-=========================
+Installing Mattermost
+=====================
You're installing "Mattermost Alpha", a pre-released version intended for an early look at what we're building. While SpinPunch runs this version internally, it's not recommended for production deployments since we can't guarantee API stability or backwards compatibility until our production release.
diff --git a/api/team.go b/api/team.go
index c9fe42ecc..01c8e50b6 100644
--- a/api/team.go
+++ b/api/team.go
@@ -275,11 +275,24 @@ func emailTeams(c *Context, w http.ResponseWriter, r *http.Request) {
subjectPage := NewServerTemplatePage("find_teams_subject", c.GetSiteURL())
bodyPage := NewServerTemplatePage("find_teams_body", c.GetSiteURL())
- if err := utils.SendMail(email, subjectPage.Render(), bodyPage.Render()); err != nil {
- l4g.Error("An error occured while sending an email in emailTeams err=%v", err)
- }
+ if result := <-Srv.Store.Team().GetTeamsForEmail(email); result.Err != nil {
+ c.Err = result.Err
+ } else {
+ teams := result.Data.([]*model.Team)
- w.Write([]byte(model.MapToJson(m)))
+ // the template expects Props to be a map with team names as the keys
+ props := make(map[string]string)
+ for _, team := range teams {
+ props[team.Name] = team.Name
+ }
+ bodyPage.Props = props
+
+ if err := utils.SendMail(email, subjectPage.Render(), bodyPage.Render()); err != nil {
+ l4g.Error("An error occured while sending an email in emailTeams err=%v", err)
+ }
+
+ w.Write([]byte(model.MapToJson(m)))
+ }
}
func inviteMembers(c *Context, w http.ResponseWriter, r *http.Request) {
diff --git a/web/react/components/sidebar_header.jsx b/web/react/components/sidebar_header.jsx
index 0156dc01a..e01ddcd05 100644
--- a/web/react/components/sidebar_header.jsx
+++ b/web/react/components/sidebar_header.jsx
@@ -17,11 +17,20 @@ var NavbarDropdown = React.createClass({
e.preventDefault();
client.logout();
},
+ blockToggle: false,
componentDidMount: function() {
UserStore.addTeamsChangeListener(this._onChange);
+
+ var self = this;
+ $(this.refs.dropdown.getDOMNode()).on('hide.bs.dropdown', function(e) {
+ self.blockToggle = true;
+ setTimeout(function(){self.blockToggle = false;}, 100);
+ });
},
componentWillUnmount: function() {
UserStore.removeTeamsChangeListener(this._onChange);
+
+ $(this.refs.dropdown.getDOMNode()).off('hide.bs.dropdown');
},
_onChange: function() {
if (this.isMounted()) {
@@ -75,7 +84,7 @@ var NavbarDropdown = React.createClass({
return (
<ul className="nav navbar-nav navbar-right">
- <li className="dropdown">
+ <li ref="dropdown" className="dropdown">
<a href="#" className="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
<span className="dropdown__icon" dangerouslySetInnerHTML={{__html: Constants.MENU_ICON }} />
</a>
@@ -108,7 +117,11 @@ module.exports = React.createClass({
},
toggleDropdown: function(e) {
- $('.team__header').find('.dropdown-toggle').trigger('click');
+ if (this.refs.dropdown.blockToggle) {
+ this.refs.dropdown.blockToggle = false;
+ return;
+ }
+ $('.team__header').find('.dropdown-toggle').dropdown('toggle');
},
render: function() {
@@ -131,7 +144,7 @@ module.exports = React.createClass({
<div className="team__name">{ this.props.teamDisplayName }</div>
</div>
</a>
- <NavbarDropdown teamType={this.props.teamType} />
+ <NavbarDropdown ref="dropdown" teamType={this.props.teamType} />
</div>
);
}