From a374419ad5c5f35174ee6285b4eaa57ef82235bd Mon Sep 17 00:00:00 2001 From: =Corey Hulen Date: Thu, 24 Sep 2015 10:52:32 -0700 Subject: Removing old valet crud --- api/team.go | 47 ------- model/client.go | 18 --- model/user.go | 1 - web/react/components/team_feature_tab.jsx | 190 --------------------------- web/react/components/team_settings.jsx | 14 +- web/react/components/team_settings_modal.jsx | 9 +- web/react/utils/client.jsx | 17 --- 7 files changed, 5 insertions(+), 291 deletions(-) delete mode 100644 web/react/components/team_feature_tab.jsx diff --git a/api/team.go b/api/team.go index d59b2b484..4794b66df 100644 --- a/api/team.go +++ b/api/team.go @@ -31,7 +31,6 @@ func InitTeam(r *mux.Router) { sr.Handle("/email_teams", ApiAppHandler(emailTeams)).Methods("POST") sr.Handle("/invite_members", ApiUserRequired(inviteMembers)).Methods("POST") sr.Handle("/update_name", ApiUserRequired(updateTeamDisplayName)).Methods("POST") - sr.Handle("/update_valet_feature", ApiUserRequired(updateValetFeature)).Methods("POST") sr.Handle("/me", ApiUserRequired(getMyTeam)).Methods("GET") // These should be moved to the global admain console sr.Handle("/import_team", ApiUserRequired(importTeam)).Methods("POST") @@ -581,52 +580,6 @@ func updateTeamDisplayName(c *Context, w http.ResponseWriter, r *http.Request) { w.Write([]byte(model.MapToJson(props))) } -func updateValetFeature(c *Context, w http.ResponseWriter, r *http.Request) { - - props := model.MapFromJson(r.Body) - - allowValetStr := props["allow_valet"] - if len(allowValetStr) == 0 { - c.SetInvalidParam("updateValetFeature", "allow_valet") - return - } - - teamId := props["team_id"] - if len(teamId) > 0 && len(teamId) != 26 { - c.SetInvalidParam("updateValetFeature", "team_id") - return - } else if len(teamId) == 0 { - teamId = c.Session.TeamId - } - - tchan := Srv.Store.Team().Get(teamId) - - if !c.HasPermissionsToTeam(teamId, "updateValetFeature") { - return - } - - if !model.IsInRole(c.Session.Roles, model.ROLE_TEAM_ADMIN) { - c.Err = model.NewAppError("updateValetFeature", "You do not have the appropriate permissions", "userId="+c.Session.UserId) - c.Err.StatusCode = http.StatusForbidden - return - } - - var team *model.Team - if tResult := <-tchan; tResult.Err != nil { - c.Err = tResult.Err - return - } else { - team = tResult.Data.(*model.Team) - } - - if result := <-Srv.Store.Team().Update(team); result.Err != nil { - c.Err = result.Err - return - } - - w.Write([]byte(model.MapToJson(props))) -} - func getMyTeam(c *Context, w http.ResponseWriter, r *http.Request) { if len(c.Session.TeamId) == 0 { diff --git a/model/client.go b/model/client.go index ca17da6d2..26e00864d 100644 --- a/model/client.go +++ b/model/client.go @@ -218,15 +218,6 @@ func (c *Client) UpdateTeamDisplayName(data map[string]string) (*Result, *AppErr } } -func (c *Client) UpdateValetFeature(data map[string]string) (*Result, *AppError) { - if r, err := c.DoApiPost("/teams/update_valet_feature", MapToJson(data)); err != nil { - return nil, err - } else { - return &Result{r.Header.Get(HEADER_REQUEST_ID), - r.Header.Get(HEADER_ETAG_SERVER), MapFromJson(r.Body)}, nil - } -} - func (c *Client) CreateUser(user *User, hash string) (*Result, *AppError) { if r, err := c.DoApiPost("/users/create", user.ToJson()); err != nil { return nil, err @@ -580,15 +571,6 @@ func (c *Client) CreatePost(post *Post) (*Result, *AppError) { } } -func (c *Client) CreateValetPost(post *Post) (*Result, *AppError) { - if r, err := c.DoApiPost("/channels/"+post.ChannelId+"/valet_create", post.ToJson()); err != nil { - return nil, err - } else { - return &Result{r.Header.Get(HEADER_REQUEST_ID), - r.Header.Get(HEADER_ETAG_SERVER), PostFromJson(r.Body)}, nil - } -} - func (c *Client) UpdatePost(post *Post) (*Result, *AppError) { if r, err := c.DoApiPost("/channels/"+post.ChannelId+"/update", post.ToJson()); err != nil { return nil, err diff --git a/model/user.go b/model/user.go index 3a2c9d56c..5cb774478 100644 --- a/model/user.go +++ b/model/user.go @@ -23,7 +23,6 @@ const ( USER_NOTIFY_ALL = "all" USER_NOTIFY_MENTION = "mention" USER_NOTIFY_NONE = "none" - BOT_USERNAME = "valet" ) type User struct { diff --git a/web/react/components/team_feature_tab.jsx b/web/react/components/team_feature_tab.jsx deleted file mode 100644 index 3251746b8..000000000 --- a/web/react/components/team_feature_tab.jsx +++ /dev/null @@ -1,190 +0,0 @@ -// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. -// See License.txt for license information. - -var SettingItemMin = require('./setting_item_min.jsx'); -var SettingItemMax = require('./setting_item_max.jsx'); - -var Client = require('../utils/client.jsx'); -var AsyncClient = require('../utils/async_client.jsx'); - -export default class FeatureTab extends React.Component { - constructor(props) { - super(props); - - this.submitValetFeature = this.submitValetFeature.bind(this); - this.handleValetRadio = this.handleValetRadio.bind(this); - this.onUpdateSection = this.onUpdateSection.bind(this); - this.setupInitialState = this.setupInitialState.bind(this); - - this.state = this.setupInitialState(); - } - componentWillReceiveProps(newProps) { - var team = newProps.team; - - var allowValet = 'false'; - if (team && team.allow_valet) { - allowValet = 'true'; - } - - this.setState({allowValet: allowValet}); - } - submitValetFeature() { - var data = {}; - data.allow_valet = this.state.allowValet; - - Client.updateValetFeature(data, - function success() { - this.props.updateSection(''); - AsyncClient.getMyTeam(); - }.bind(this), - function fail(err) { - var state = this.setupInitialState(); - state.serverError = err; - this.setState(state); - }.bind(this) - ); - } - handleValetRadio(val) { - this.setState({allowValet: val}); - React.findDOMNode(this.refs.wrapper).focus(); - } - onUpdateSection(e) { - e.preventDefault(); - if (this.props.activeSection === 'valet') { - this.props.updateSection(''); - } else { - this.props.updateSection('valet'); - } - } - setupInitialState() { - var allowValet; - var team = this.props.team; - - if (team && team.allow_valet) { - allowValet = 'true'; - } else { - allowValet = 'false'; - } - - return {allowValet: allowValet}; - } - render() { - var clientError = null; - var serverError = null; - if (this.state.clientError) { - clientError = this.state.clientError; - } - if (this.state.serverError) { - serverError = this.state.serverError; - } - - var valetSection; - - if (this.props.activeSection === 'valet') { - var valetActive = [false, false]; - if (this.state.allowValet === 'false') { - valetActive[1] = true; - } else { - valetActive[0] = true; - } - - let inputs = []; - - inputs.push( -
-
- -
-
-
- -
-
-

Valet is a preview feature for enabling a non-user account limited to basic member permissions that can be manipulated by 3rd parties.

IMPORTANT: The preview version of Valet should not be used without a secure connection and a trusted 3rd party, since user credentials are used to connect. OAuth2 will be used in the final release.
-
- ); - - valetSection = ( - - ); - } else { - var describe = ''; - if (this.state.allowValet === 'false') { - describe = 'Off'; - } else { - describe = 'On'; - } - - valetSection = ( - - ); - } - - return ( -
-
- -

- Advanced Features -

-
-
-

Advanced Features

-
- {valetSection} -
-
-
- ); - } -} - -FeatureTab.defaultProps = { - team: {}, - activeSection: '' -}; -FeatureTab.propTypes = { - updateSection: React.PropTypes.func.isRequired, - team: React.PropTypes.object.isRequired, - activeSection: React.PropTypes.string.isRequired -}; diff --git a/web/react/components/team_settings.jsx b/web/react/components/team_settings.jsx index 396521af9..e91aa20bc 100644 --- a/web/react/components/team_settings.jsx +++ b/web/react/components/team_settings.jsx @@ -4,7 +4,6 @@ var TeamStore = require('../stores/team_store.jsx'); var ImportTab = require('./team_import_tab.jsx'); var ExportTab = require('./team_export_tab.jsx'); -var FeatureTab = require('./team_feature_tab.jsx'); var GeneralTab = require('./team_general_tab.jsx'); var Utils = require('../utils/utils.jsx'); @@ -25,7 +24,7 @@ export default class TeamSettings extends React.Component { onChange() { var team = TeamStore.getCurrent(); if (!Utils.areStatesEqual(this.state.team, team)) { - this.setState({team: team}); + this.setState({team}); } } render() { @@ -43,17 +42,6 @@ export default class TeamSettings extends React.Component {
); break; - case 'feature': - result = ( -
- -
- ); - break; case 'import': result = (
diff --git a/web/react/components/team_settings_modal.jsx b/web/react/components/team_settings_modal.jsx index 0513c811f..a5a2b711c 100644 --- a/web/react/components/team_settings_modal.jsx +++ b/web/react/components/team_settings_modal.jsx @@ -20,8 +20,8 @@ export default class TeamSettingsModal extends React.Component { $('body').on('click', '.modal-back', function handleBackClick() { $(this).closest('.modal-dialog').removeClass('display--content'); }); - $('body').on('click', '.modal-header .close', function handleCloseClick() { - setTimeout(function removeContent() { + $('body').on('click', '.modal-header .close', () => { + setTimeout(() => { $('.modal-dialog.display--content').removeClass('display--content'); }, 500); }); @@ -33,11 +33,10 @@ export default class TeamSettingsModal extends React.Component { this.setState({activeSection: section}); } render() { - let tabs = []; + const tabs = []; tabs.push({name: 'general', uiName: 'General', icon: 'glyphicon glyphicon-cog'}); tabs.push({name: 'import', uiName: 'Import', icon: 'glyphicon glyphicon-upload'}); tabs.push({name: 'export', uiName: 'Export', icon: 'glyphicon glyphicon-download'}); - tabs.push({name: 'feature', uiName: 'Advanced', icon: 'glyphicon glyphicon-wrench'}); return (
- Team Settings + {'Team Settings'}
diff --git a/web/react/utils/client.jsx b/web/react/utils/client.jsx index 63924bff2..4effa7307 100644 --- a/web/react/utils/client.jsx +++ b/web/react/utils/client.jsx @@ -1042,23 +1042,6 @@ export function getMyTeam(success, error) { }); } -export function updateValetFeature(data, success, error) { - $.ajax({ - url: '/api/v1/teams/update_valet_feature', - dataType: 'json', - contentType: 'application/json', - type: 'POST', - data: JSON.stringify(data), - success, - error: function onError(xhr, status, err) { - var e = handleError('updateValetFeature', xhr, status, err); - error(e); - } - }); - - track('api', 'api_teams_update_valet_feature'); -} - export function registerOAuthApp(app, success, error) { $.ajax({ url: '/api/v1/oauth/register', -- cgit v1.2.3-1-g7c22