summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Tadeu Panato Junior <ctadeu@gmail.com>2016-11-18 23:21:32 +0100
committerJoram Wilander <jwawilander@gmail.com>2016-11-18 17:21:32 -0500
commit34c3e9e50df3dc0bc3a8d890c7fb9f999f5694ae (patch)
treed1583faaa2763bfd2a6c413c80a8ae625aec6918
parent7d68434e8c4c881b900fd473a8d86647a722b133 (diff)
downloadchat-34c3e9e50df3dc0bc3a8d890c7fb9f999f5694ae.tar.gz
chat-34c3e9e50df3dc0bc3a8d890c7fb9f999f5694ae.tar.bz2
chat-34c3e9e50df3dc0bc3a8d890c7fb9f999f5694ae.zip
Move instances of Client.updateTeam() in components to an action (#4574)
* Move instances of Client.updateTeam() in components to an action * remove client from missing ones * update code per review * update per code review
-rw-r--r--webapp/actions/team_actions.jsx18
-rw-r--r--webapp/components/team_general_tab.jsx21
-rw-r--r--webapp/stores/team_store.jsx4
-rw-r--r--webapp/utils/constants.jsx1
4 files changed, 30 insertions, 14 deletions
diff --git a/webapp/actions/team_actions.jsx b/webapp/actions/team_actions.jsx
index e0403529e..6a5cccb81 100644
--- a/webapp/actions/team_actions.jsx
+++ b/webapp/actions/team_actions.jsx
@@ -36,6 +36,24 @@ export function createTeam(team, onSuccess, onError) {
);
}
+export function updateTeam(team, onSuccess, onError) {
+ Client.updateTeam(team,
+ (rteam) => {
+ AppDispatcher.handleServerAction({
+ type: ActionTypes.UPDATE_TEAM,
+ team: rteam
+ });
+
+ browserHistory.push('/' + rteam.name + '/channels/town-square');
+
+ if (onSuccess) {
+ onSuccess(rteam);
+ }
+ },
+ onError
+ );
+}
+
export function removeUserFromTeam(teamId, userId, success, error) {
Client.removeUserFromTeam(
teamId,
diff --git a/webapp/components/team_general_tab.jsx b/webapp/components/team_general_tab.jsx
index 1d749f480..a5281d238 100644
--- a/webapp/components/team_general_tab.jsx
+++ b/webapp/components/team_general_tab.jsx
@@ -5,12 +5,11 @@ import $ from 'jquery';
import SettingItemMin from './setting_item_min.jsx';
import SettingItemMax from './setting_item_max.jsx';
-import Client from 'client/web_client.jsx';
import * as Utils from 'utils/utils.jsx';
-import TeamStore from 'stores/team_store.jsx';
import Constants from 'utils/constants.jsx';
import {intlShape, injectIntl, defineMessages, FormattedMessage, FormattedHTMLMessage} from 'react-intl';
+import {updateTeam} from 'actions/team_actions.jsx';
const holders = defineMessages({
dirDisabled: {
@@ -131,10 +130,8 @@ class GeneralTab extends React.Component {
var data = this.props.team;
data.allow_open_invite = this.state.allow_open_invite;
- Client.updateTeam(data,
- (team) => {
- TeamStore.saveTeam(team);
- TeamStore.emitChange();
+ updateTeam(data,
+ () => {
this.updateSection('');
},
(err) => {
@@ -170,10 +167,8 @@ class GeneralTab extends React.Component {
var data = this.props.team;
data.display_name = this.state.name;
- Client.updateTeam(data,
- (team) => {
- TeamStore.saveTeam(team);
- TeamStore.emitChange();
+ updateTeam(data,
+ () => {
this.updateSection('');
},
(err) => {
@@ -205,10 +200,8 @@ class GeneralTab extends React.Component {
var data = this.props.team;
data.invite_id = this.state.invite_id;
- Client.updateTeam(data,
- (team) => {
- TeamStore.saveTeam(team);
- TeamStore.emitChange();
+ updateTeam(data,
+ () => {
this.updateSection('');
},
(err) => {
diff --git a/webapp/stores/team_store.jsx b/webapp/stores/team_store.jsx
index 858e2688e..7775a4a3a 100644
--- a/webapp/stores/team_store.jsx
+++ b/webapp/stores/team_store.jsx
@@ -265,6 +265,10 @@ TeamStore.dispatchToken = AppDispatcher.register((payload) => {
TeamStore.appendMyTeamMember(action.member);
TeamStore.emitChange();
break;
+ case ActionTypes.UPDATE_TEAM:
+ TeamStore.saveTeam(action.team);
+ TeamStore.emitChange();
+ break;
case ActionTypes.RECEIVED_ALL_TEAMS:
TeamStore.saveTeams(action.teams);
TeamStore.emitChange();
diff --git a/webapp/utils/constants.jsx b/webapp/utils/constants.jsx
index a90c4c502..4fbf807f9 100644
--- a/webapp/utils/constants.jsx
+++ b/webapp/utils/constants.jsx
@@ -126,6 +126,7 @@ export const ActionTypes = keyMirror({
RECEIVED_MY_TEAM: null,
CREATED_TEAM: null,
+ UPDATE_TEAM: null,
RECEIVED_CONFIG: null,
RECEIVED_LOGS: null,