diff --git a/client/src/actions/session-actions.js b/client/src/actions/session-actions.js index 90aa07ae..08c95be8 100644 --- a/client/src/actions/session-actions.js +++ b/client/src/actions/session-actions.js @@ -12,7 +12,7 @@ export default { path: '/user/login', data: loginData }).then((result) => { - store.dispatch(this.getUserData(result.data.userId, result.data.token)); + store.dispatch(this.getUserData(result.data.userId, result.data.token, result.data.staff)); return result; }) @@ -49,7 +49,7 @@ export default { }; }, - getUserData(userId, token) { + getUserData(userId, token, staff) { let data = {}; if (userId && token) { @@ -62,7 +62,7 @@ export default { return { type: 'USER_DATA', payload: API.call({ - path: '/user/get', + path: (staff) ? '/staff/get' : '/user/get', data: data }) } diff --git a/client/src/app/App.js b/client/src/app/App.js index 00f2efdf..90197430 100644 --- a/client/src/app/App.js +++ b/client/src/app/App.js @@ -44,7 +44,9 @@ class App extends React.Component { const validations = { languageChanged: props.config.language !== this.props.config.language, loggedIn: !_.includes(props.location.pathname, '/dashboard') && props.session.logged, - loggedOut: _.includes(props.location.pathname, '/dashboard') && !props.session.logged + loggedOut: _.includes(props.location.pathname, '/dashboard') && !props.session.logged, + loggedInStaff: !_.includes(props.location.pathname, '/admin/panel') && props.session.staff, + loggedOutStaff: _.includes(props.location.pathname, '/admin/panel') && !props.session.logged }; if (validations.languageChanged) { @@ -55,8 +57,14 @@ class App extends React.Component { browserHistory.push('/'); } - if (validations.loggedIn) { + if (validations.loggedOutStaff) { + browserHistory.push('/admin'); + } + + if (validations.loggedIn && !props.session.staff) { browserHistory.push('/dashboard'); + } else if(validations.loggedInStaff) { + browserHistory.push('/admin/panel'); } } } diff --git a/client/src/app/admin/admin-login-page.js b/client/src/app/admin/admin-login-page.js index e4727f21..12d74dc5 100644 --- a/client/src/app/admin/admin-login-page.js +++ b/client/src/app/admin/admin-login-page.js @@ -1,23 +1,25 @@ import React from 'react'; +import _ from 'lodash'; +import {connect} from 'react-redux'; import i18n from 'lib-app/i18n'; -import API from 'lib-app/api-call'; +import SessionActions from 'actions/session-actions'; import Form from 'core-components/form'; import FormField from 'core-components/form-field'; import SubmitButton from 'core-components/submit-button'; class AdminLoginPage extends React.Component { - render(){ + render() { return (