Merge pull request #966 from mattermost/GIT-960

GIT-960 show error when you cannot create a team
Этот коммит содержится в:
Christopher Speller
2015-10-08 10:00:31 -04:00
родитель a6629f95fe 81b7f649ed
Коммит 7a601afc64
3 изменённых файлов: 17 добавлений и 11 удалений

Просмотреть файл

@@ -248,7 +248,7 @@ func createTeam(c *Context, w http.ResponseWriter, r *http.Request) {
func CreateTeam(c *Context, team *model.Team) *model.Team { func CreateTeam(c *Context, team *model.Team) *model.Team {
if !utils.Cfg.EmailSettings.EnableSignUpWithEmail { if !utils.Cfg.EmailSettings.EnableSignUpWithEmail {
c.Err = model.NewAppError("createTeam", "Team sign-up with email is disabled.", "") c.Err = model.NewAppError("createTeam", "Team sign-up with email is disabled.", "")
c.Err.StatusCode = http.StatusNotImplemented c.Err.StatusCode = http.StatusForbidden
return nil return nil
} }

Просмотреть файл

@@ -14,8 +14,8 @@ export default class EmailSignUpPage extends React.Component {
} }
handleSubmit(e) { handleSubmit(e) {
e.preventDefault(); e.preventDefault();
let team = {}; var team = {};
let state = {serverError: ''}; var state = {serverError: ''};
team.email = React.findDOMNode(this.refs.email).value.trim().toLowerCase(); team.email = React.findDOMNode(this.refs.email).value.trim().toLowerCase();
if (!team.email || !Utils.isEmail(team.email)) { if (!team.email || !Utils.isEmail(team.email)) {
@@ -31,20 +31,25 @@ export default class EmailSignUpPage extends React.Component {
} }
Client.signupTeam(team.email, Client.signupTeam(team.email,
function success(data) { (data) => {
if (data.follow_link) { if (data.follow_link) {
window.location.href = data.follow_link; window.location.href = data.follow_link;
} else { } else {
window.location.href = `/signup_team_confirm/?email=${encodeURIComponent(team.email)}`; window.location.href = `/signup_team_confirm/?email=${encodeURIComponent(team.email)}`;
} }
}, },
function fail(err) { (err) => {
state.serverError = err.message; state.serverError = err.message;
this.setState(state); this.setState(state);
}.bind(this) }
); );
} }
render() { render() {
var serverError = null;
if (this.state.serverError) {
serverError = <div className='form-group has-error'><label className='control-label'>{this.state.serverError}</label></div>;
}
return ( return (
<form <form
role='form' role='form'
@@ -65,8 +70,9 @@ export default class EmailSignUpPage extends React.Component {
className='btn btn-md btn-primary' className='btn btn-md btn-primary'
type='submit' type='submit'
> >
Sign up {'Sign up'}
</button> </button>
{serverError}
</div> </div>
<div className='form-group margin--extra-2x'> <div className='form-group margin--extra-2x'>
<span><a href='/find_team'>{`Find my teams`}</a></span> <span><a href='/find_team'>{`Find my teams`}</a></span>

Просмотреть файл

@@ -40,17 +40,17 @@ export default class SSOSignUpPage extends React.Component {
client.createTeamWithSSO(team, client.createTeamWithSSO(team,
this.props.service, this.props.service,
function success(data) { (data) => {
if (data.follow_link) { if (data.follow_link) {
window.location.href = data.follow_link; window.location.href = data.follow_link;
} else { } else {
window.location.href = '/' + team.name + '/channels/town-square'; window.location.href = '/' + team.name + '/channels/town-square';
} }
}, },
function fail(err) { (err) => {
state.serverError = err.message; state.serverError = err.message;
this.setState(state); this.setState(state);
}.bind(this) }
); );
} }
nameChange() { nameChange() {
@@ -85,7 +85,7 @@ export default class SSOSignUpPage extends React.Component {
disabled={disabled} disabled={disabled}
> >
<span className='icon'/> <span className='icon'/>
<span>Create team with GitLab Account</span> <span>{'Create team with GitLab Account'}</span>
</a> </a>
); );
} }