mirror of
https://github.com/ascribe/onion.git
synced 2024-12-23 01:39:36 +01:00
Merged in AD-535-when-non-member-gets-work-transfe (pull request #91)
Ad 535 when non member gets work transfe
This commit is contained in:
commit
43a5d8291f
@ -44,6 +44,10 @@ let LoginForm = React.createClass({
|
|||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
UserStore.listen(this.onChange);
|
UserStore.listen(this.onChange);
|
||||||
|
let { redirect } = this.getQuery();
|
||||||
|
if (redirect && redirect !== 'login'){
|
||||||
|
this.transitionTo(redirect, null, this.getQuery());
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
componentWillUnmount() {
|
componentWillUnmount() {
|
||||||
@ -56,6 +60,15 @@ let LoginForm = React.createClass({
|
|||||||
// if user is already logged in, redirect him to piece list
|
// if user is already logged in, redirect him to piece list
|
||||||
if(this.state.currentUser && this.state.currentUser.email && this.props.redirectOnLoggedIn) {
|
if(this.state.currentUser && this.state.currentUser.email && this.props.redirectOnLoggedIn) {
|
||||||
// FIXME: hack to redirect out of the dispatch cycle
|
// FIXME: hack to redirect out of the dispatch cycle
|
||||||
|
let { redirectAuthenticated } = this.getQuery();
|
||||||
|
if ( redirectAuthenticated) {
|
||||||
|
/*
|
||||||
|
* redirectAuthenticated contains an arbirary path
|
||||||
|
* eg pieces/<id>, editions/<bitcoin_id>, collection, settings, ...
|
||||||
|
* hence transitionTo cannot be used directly
|
||||||
|
*/
|
||||||
|
window.location = AppConstants.baseUrl + redirectAuthenticated;
|
||||||
|
}
|
||||||
window.setTimeout(() => this.transitionTo('pieces'), 0);
|
window.setTimeout(() => this.transitionTo('pieces'), 0);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -79,7 +92,13 @@ let LoginForm = React.createClass({
|
|||||||
Users on Stack Overflow claim this is a bug in chrome and should be fixed in the future.
|
Users on Stack Overflow claim this is a bug in chrome and should be fixed in the future.
|
||||||
Until then, we redirect the HARD way, but reloading the whole page using window.location
|
Until then, we redirect the HARD way, but reloading the whole page using window.location
|
||||||
*/
|
*/
|
||||||
|
let { redirectAuthenticated } = this.getQuery();
|
||||||
|
if ( redirectAuthenticated) {
|
||||||
|
window.location = AppConstants.baseUrl + redirectAuthenticated;
|
||||||
|
}
|
||||||
|
else {
|
||||||
window.location = AppConstants.baseUrl + 'collection';
|
window.location = AppConstants.baseUrl + 'collection';
|
||||||
|
}
|
||||||
} else if(this.props.onLogin) {
|
} else if(this.props.onLogin) {
|
||||||
// In some instances we want to give a callback to an outer container,
|
// In some instances we want to give a callback to an outer container,
|
||||||
// to show that the one login action the user triggered actually went through.
|
// to show that the one login action the user triggered actually went through.
|
||||||
|
@ -14,6 +14,7 @@ import Form from './form';
|
|||||||
import Property from './property';
|
import Property from './property';
|
||||||
import InputCheckbox from './input_checkbox';
|
import InputCheckbox from './input_checkbox';
|
||||||
|
|
||||||
|
import AppConstants from '../../constants/application_constants';
|
||||||
import ApiUrls from '../../constants/api_urls';
|
import ApiUrls from '../../constants/api_urls';
|
||||||
|
|
||||||
|
|
||||||
@ -40,6 +41,10 @@ let SignupForm = React.createClass({
|
|||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
UserStore.listen(this.onChange);
|
UserStore.listen(this.onChange);
|
||||||
|
let { redirect } = this.getQuery();
|
||||||
|
if (redirect && redirect !== 'signup'){
|
||||||
|
this.transitionTo(redirect, null, this.getQuery());
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
componentWillUnmount() {
|
componentWillUnmount() {
|
||||||
@ -51,7 +56,16 @@ let SignupForm = React.createClass({
|
|||||||
|
|
||||||
// if user is already logged in, redirect him to piece list
|
// if user is already logged in, redirect him to piece list
|
||||||
if(this.state.currentUser && this.state.currentUser.email) {
|
if(this.state.currentUser && this.state.currentUser.email) {
|
||||||
this.transitionTo('pieces');
|
let { redirectAuthenticated } = this.getQuery();
|
||||||
|
if ( redirectAuthenticated) {
|
||||||
|
/*
|
||||||
|
* redirectAuthenticated contains an arbirary path
|
||||||
|
* eg pieces/<id>, editions/<bitcoin_id>, collection, settings, ...
|
||||||
|
* hence transitionTo cannot be used directly
|
||||||
|
*/
|
||||||
|
window.location = AppConstants.baseUrl + redirectAuthenticated;
|
||||||
|
}
|
||||||
|
window.setTimeout(() => this.transitionTo('pieces'));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -62,6 +76,15 @@ let SignupForm = React.createClass({
|
|||||||
this.props.handleSuccess(getLangText('We sent an email to your address') + ' ' + response.user.email + ', ' + getLangText('please confirm') + '.');
|
this.props.handleSuccess(getLangText('We sent an email to your address') + ' ' + response.user.email + ', ' + getLangText('please confirm') + '.');
|
||||||
}
|
}
|
||||||
else if (response.redirect) {
|
else if (response.redirect) {
|
||||||
|
let { redirectAuthenticated } = this.getQuery();
|
||||||
|
if ( redirectAuthenticated) {
|
||||||
|
/*
|
||||||
|
* redirectAuthenticated contains an arbirary path
|
||||||
|
* eg pieces/<id>, editions/<bitcoin_id>, collection, settings, ...
|
||||||
|
* hence transitionTo cannot be used directly
|
||||||
|
*/
|
||||||
|
window.location = AppConstants.baseUrl + redirectAuthenticated;
|
||||||
|
}
|
||||||
this.transitionTo('pieces');
|
this.transitionTo('pieces');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user