added google sign-in functionality to the client, with minor model modifications

Этот коммит содержится в:
JoramWilander
2015-08-14 08:43:49 -04:00
родитель e27db2ed63
Коммит b704e9489b
11 изменённых файлов: 137 добавлений и 82 удалений

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

@@ -92,14 +92,21 @@ module.exports = React.createClass({
var auth_services = JSON.parse(this.props.authServices);
var login_message;
if (auth_services.indexOf("gitlab") >= 0) {
login_message = (
var login_message = [];
if (auth_services.indexOf(Constants.GITLAB_SERVICE) >= 0) {
login_message.push(
<div className="form-group form-group--small">
<span><a href={"/"+teamName+"/login/gitlab"}>{"Log in with GitLab"}</a></span>
</div>
);
}
if (auth_services.indexOf(Constants.GOOGLE_SERVICE) >= 0) {
login_message.push(
<div className="form-group form-group--small">
<span><a href={"/"+teamName+"/login/google"}>{"Log in with Google"}</a></span>
</div>
);
}
return (
<div className="signup-team__container">

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

@@ -5,6 +5,7 @@ var utils = require('../utils/utils.jsx');
var client = require('../utils/client.jsx');
var UserStore = require('../stores/user_store.jsx');
var BrowserStore = require('../stores/browser_store.jsx');
var Constants = require('../utils/constants.jsx');
module.exports = React.createClass({
handleSubmit: function(e) {
@@ -151,19 +152,34 @@ module.exports = React.createClass({
// add options to log in using another service
var authServices = JSON.parse(this.props.authServices);
var signupMessage = null;
if (authServices.indexOf('gitlab') >= 0) {
signupMessage = (
<div>
var signupMessage = [];
if (authServices.indexOf(Constants.GITLAB_SERVICE) >= 0) {
signupMessage.push(
<a className='btn btn-custom-login gitlab' href={'/' + this.props.teamName + '/signup/gitlab' + window.location.search}>
<span className='icon' />
<span>with GitLab</span>
</a>
);
}
if (authServices.indexOf(Constants.GOOGLE_SERVICE) >= 0) {
signupMessage.push(
<a className='btn btn-custom-login gitlab' href={'/' + this.props.teamName + '/signup/google' + window.location.search}>
<span className='icon' />
<span>with Google</span>
</a>
);
}
if (signupMessage.length > 0) {
signupMessage = (
<div>
{signupMessage}
<div className='or__container'>
<span>or</span>
</div>
</div>
);
</div>
);
}
var termsDisclaimer = null;

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

@@ -33,7 +33,10 @@ module.exports = React.createClass({
client.createUser(user, "", "",
function(data) {
client.track('signup', 'signup_user_oauth_02');
window.location.href = '/' + this.props.teamName + '/login/'+user.auth_service;
UserStore.setCurrentUser(data);
UserStore.setLastEmail(data.email);
window.location.href = '/' + this.props.teamName + '/login/' + user.auth_service + '?login_hint=' + user.email;
}.bind(this),
function(err) {
this.state.server_error = err.message;