diff --git a/client/coral-admin/src/actions/install.js b/client/coral-admin/src/actions/install.js index bc0c86ce1..c7c673105 100644 --- a/client/coral-admin/src/actions/install.js +++ b/client/coral-admin/src/actions/install.js @@ -24,28 +24,37 @@ const validation = (formData, dispatch, next) => { const empty = Object.keys(formData).filter(name => { const cond = !formData[name].length; - // Adding Error - dispatch(addError(name, 'Please, fill this field ')); + if (cond) { + + // Adding Error + dispatch(addError(name, 'Please, fill this field ')); + } else { + dispatch(addError(name, '')); + } + return cond; }); if (empty.length) { - return dispatch(hasError('Please fill the form')); + return dispatch(hasError()); } // RegExp Validation const validation = Object.keys(formData).filter(name => { const cond = !validate[name](formData[name]); if (cond) { + // Adding Error dispatch(addError(name, errorMsj[name])); + } else { + dispatch(addError(name, '')); } return cond; }); if (validation.length) { - return dispatch(hasError('Please check the form')); + return dispatch(hasError()); } dispatch(clearErrors()); @@ -53,33 +62,29 @@ const validation = (formData, dispatch, next) => { }; export const submitSettings = () => (dispatch, getState) => { - const formData = getState().install.toJS().data.settings; - validation(formData, dispatch, function() { + const settingsFormData = getState().install.toJS().data.settings; + validation(settingsFormData, dispatch, function() { dispatch(nextStep()); }); }; -export const install = () => dispatch => { - dispatch(installRequest()); - coralApi('/setup') - .then(result => { - console.log(result); - dispatch(installSuccess()); - }) - .catch(error => { - console.error(error); - dispatch(installFailure(`${error.message}`)); - }); +export const submitUser = () => (dispatch, getState) => { + const userFormData = getState().install.toJS().data.user; + validation(userFormData, dispatch, function() { + const data = getState().install.toJS().data; + dispatch(installRequest()); + coralApi('/setup', {method: 'POST', body: data}) + .then(result => { + console.log(result); + dispatch(installSuccess()); + dispatch(nextStep()); + }) + .catch(error => { + console.error(error); + dispatch(installFailure(`${error.message}`)); + }); + }); }; -export const updateSettingsFormData = (name, value) => ({ - type: actions.UPDATE_FORMDATA_SETTINGS, - name, - value -}); - -export const updateUserFormData = (name, value) => ({ - type: actions.UPDATE_FORMDATA_USER, - name, - value -}); +export const updateSettingsFormData = (name, value) => ({type: actions.UPDATE_FORMDATA_SETTINGS, name, value}); +export const updateUserFormData = (name, value) => ({type: actions.UPDATE_FORMDATA_USER, name, value}); diff --git a/client/coral-admin/src/containers/Install/InstallContainer.js b/client/coral-admin/src/containers/Install/InstallContainer.js index ca6ac722c..063e36578 100644 --- a/client/coral-admin/src/containers/Install/InstallContainer.js +++ b/client/coral-admin/src/containers/Install/InstallContainer.js @@ -3,7 +3,7 @@ import {connect} from 'react-redux'; import styles from './style.css'; import {Wizard, WizardNav} from 'coral-ui'; import {Layout} from '../../components/ui/Layout'; -import {nextStep, previousStep, goToStep, updateUserFormData, updateSettingsFormData, submitSettings} from '../../actions/install'; +import {nextStep, previousStep, goToStep, updateUserFormData, updateSettingsFormData, submitSettings, submitUser} from '../../actions/install'; import InitialStep from './components/Steps/InitialStep'; import AddOrganizationName from './components/Steps/AddOrganizationName'; @@ -45,9 +45,13 @@ const mapDispatchToProps = dispatch => ({ const {name, value} = e.currentTarget; dispatch(updateUserFormData(name, value)); }, - handleSubmit: e => { + handleSettingsSubmit: e => { e.preventDefault(); dispatch(submitSettings()); + }, + handleUserSubmit: e => { + e.preventDefault(); + dispatch(submitUser()); } }); diff --git a/client/coral-admin/src/containers/Install/components/Steps/AddOrganizationName.js b/client/coral-admin/src/containers/Install/components/Steps/AddOrganizationName.js index c7edce628..0f85bbad4 100644 --- a/client/coral-admin/src/containers/Install/components/Steps/AddOrganizationName.js +++ b/client/coral-admin/src/containers/Install/components/Steps/AddOrganizationName.js @@ -3,7 +3,7 @@ import styles from './style.css'; import {FormField, Button} from 'coral-ui'; const AddOrganizationName = props => { - const {handleSettingsChange, handleSubmit, install} = props; + const {handleSettingsChange, handleSettingsSubmit, install} = props; return (
@@ -11,7 +11,7 @@ const AddOrganizationName = props => { inviting new team members