Merge pull request #615 from coralproject/require-email-info

Display require email verification info
This commit is contained in:
Kim Gardner
2017-05-26 16:24:06 -04:00
committed by GitHub
4 changed files with 20 additions and 4 deletions
+10 -1
View File
@@ -9,7 +9,7 @@ const lang = new I18n(translations);
import translations from './../translations';
import I18n from '../../coral-framework/modules/i18n/i18n';
export const showSignInDialog = () => (dispatch) => {
export const showSignInDialog = () => (dispatch, getState) => {
const signInPopUp = window.open(
'/embed/stream/login',
'Login',
@@ -21,6 +21,10 @@ export const showSignInDialog = () => (dispatch) => {
let loaded = false;
signInPopUp.onload = () => {
loaded = true;
// Fire some actions inside the popups reducer, to initialize required state.
const required = getState().asset.toJS().settings.requireEmailConfirmation;
signInPopUp.coralStore.dispatch(setRequireEmailVerification(required));
};
// Use `onunload` instead of `onbeforeunload` which is not supported in IOS Safari.
@@ -96,6 +100,11 @@ export const cleanState = () => ({
type: actions.CLEAN_STATE
});
export const setRequireEmailVerification = (required) => ({
type: actions.SET_REQUIRE_EMAIL_VERIFICATION,
required,
});
// Sign In Actions
const signInRequest = () => ({
+3
View File
@@ -46,3 +46,6 @@ export const VERIFY_EMAIL_REQUEST = 'VERIFY_EMAIL_REQUEST';
export const VERIFY_EMAIL_SUCCESS = 'VERIFY_EMAIL_SUCCESS';
export const VERIFY_EMAIL_FAILURE = 'VERIFY_EMAIL_FAILURE';
export const UPDATE_USERNAME = 'UPDATE_USERNAME';
export const SET_REQUIRE_EMAIL_VERIFICATION = 'SET_REQUIRE_EMAIL_VERIFICATION';
+5 -1
View File
@@ -16,7 +16,8 @@ const initialState = Map({
emailVerificationLoading: false,
emailVerificationSuccess: false,
successSignUp: false,
fromSignUp: false
fromSignUp: false,
requireEmailConfirmation: false,
});
const purge = (user) => {
@@ -142,6 +143,9 @@ export default function auth (state = initialState, action) {
return state
.set('emailVerificationSuccess', true)
.set('emailVerificationLoading', false);
case actions.SET_REQUIRE_EMAIL_VERIFICATION:
return state
.set('requireEmailConfirmation', action.required);
default :
return state;
}
@@ -167,8 +167,8 @@ class SignInContainer extends React.Component {
};
render() {
const {auth, requireEmailConfirmation} = this.props;
const {emailVerificationLoading, emailVerificationSuccess} = auth;
const {auth} = this.props;
const {requireEmailConfirmation, emailVerificationLoading, emailVerificationSuccess} = auth;
return (
<SignDialog