From 5ac9053b5acc5244f5b0e967983d174f0e3d44ce Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Sun, 5 Jun 2016 02:44:54 -0400 Subject: [PATCH] Added sign in link to the signup_user_complete page (#3248) --- webapp/components/login/login_controller.jsx | 36 +++++++++++++++----- webapp/components/signup_user_complete.jsx | 30 ++++++++++++---- webapp/i18n/en.json | 2 ++ 3 files changed, 53 insertions(+), 15 deletions(-) diff --git a/webapp/components/login/login_controller.jsx b/webapp/components/login/login_controller.jsx index 2422db5f72..dd4a92f924 100644 --- a/webapp/components/login/login_controller.jsx +++ b/webapp/components/login/login_controller.jsx @@ -22,6 +22,13 @@ import React from 'react'; import logoImage from 'images/logo.png'; export default class LoginController extends React.Component { + static get propTypes() { + return { + location: React.PropTypes.object.isRequired, + params: React.PropTypes.object.isRequired + }; + } + constructor(props) { super(props); @@ -128,12 +135,31 @@ export default class LoginController extends React.Component { } submit(loginId, password, token) { + this.setState({serverError: null}); + Client.webLogin( loginId, password, token, () => { - this.setState({serverError: null}); + // check for query params brought over from signup_user_complete + if (this.props.location.query.id || this.props.location.query.h) { + Client.addUserToTeamFromInvite( + this.props.location.query.d, + this.props.location.query.h, + this.props.location.query.id, + () => { + this.finishSignin(); + }, + () => { + // there's not really a good way to deal with this, so just let the user log in like normal + this.finishSignin(); + } + ); + + return; + } + this.finishSignin(); }, (err) => { @@ -503,10 +529,4 @@ export default class LoginController extends React.Component { ); } -} - -LoginController.defaultProps = { -}; -LoginController.propTypes = { - params: React.PropTypes.object.isRequired -}; +} \ No newline at end of file diff --git a/webapp/components/signup_user_complete.jsx b/webapp/components/signup_user_complete.jsx index ad8b94722f..b3825f72f3 100644 --- a/webapp/components/signup_user_complete.jsx +++ b/webapp/components/signup_user_complete.jsx @@ -22,6 +22,12 @@ import {browserHistory, Link} from 'react-router'; import logoImage from 'images/logo.png'; export default class SignupUserComplete extends React.Component { + static get propTypes() { + return { + location: React.PropTypes.object + }; + } + constructor(props) { super(props); @@ -729,6 +735,22 @@ export default class SignupUserComplete extends React.Component { defaultMessage="Let's create your account" /> + + + {' '} + + + + {signupMessage} {ldapSignup} {emailSignup} @@ -739,10 +761,4 @@ export default class SignupUserComplete extends React.Component { ); } -} - -SignupUserComplete.defaultProps = { -}; -SignupUserComplete.propTypes = { - location: React.PropTypes.object -}; +} \ No newline at end of file diff --git a/webapp/i18n/en.json b/webapp/i18n/en.json index 5e9c50d03f..4e21cc3530 100644 --- a/webapp/i18n/en.json +++ b/webapp/i18n/en.json @@ -1166,6 +1166,7 @@ "signup_user_completed.expired": "You've already completed the signup process for this invitation or this invitation has expired.", "signup_user_completed.gitlab": "with GitLab", "signup_user_completed.google": "with Google", + "signup_user_completed.haveAccount": "Already have an account?", "signup_user_completed.invalid_invite": "The invite link was invalid. Please speak with your Administrator to receive an invitation.", "signup_user_completed.lets": "Let's create your account", "signup_user_completed.no_open_server": "This server does not allow open signups. Please speak with your Administrator to receive an invitation.", @@ -1175,6 +1176,7 @@ "signup_user_completed.passwordLength": "Please enter at least {min} characters", "signup_user_completed.required": "This field is required", "signup_user_completed.reserved": "This username is reserved, please choose a new one.", + "signup_user_completed.signIn": "Click here to sign in.", "signup_user_completed.userHelp": "Username must begin with a letter, and contain between {min} to {max} lowercase characters made up of numbers, letters, and the symbols '.', '-' and '_'", "signup_user_completed.usernameLength": "Username must begin with a letter, and contain between {min} to {max} lowercase characters made up of numbers, letters, and the symbols '.', '-' and '_'.", "signup_user_completed.validEmail": "Please enter a valid email address",