diff --git a/package-lock.json b/package-lock.json
index 0928bc1..55a4eae 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8795,46 +8795,6 @@
"prop-types": "15.5.10"
}
},
- "react-draggable": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-3.0.5.tgz",
- "integrity": "sha512-qo76q6+pafyGllbmfc+CgWfOkwY9v3UoJa3jp6xG2vdsRY8uJTN1kqNievLj0uVNjEqCvZ0OFiEBxlAJNj3OTg==",
- "requires": {
- "classnames": "2.2.5",
- "prop-types": "15.6.0"
- },
- "dependencies": {
- "core-js": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
- "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
- },
- "fbjs": {
- "version": "0.8.16",
- "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz",
- "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=",
- "requires": {
- "core-js": "1.2.7",
- "isomorphic-fetch": "2.2.1",
- "loose-envify": "1.3.1",
- "object-assign": "4.1.1",
- "promise": "7.3.1",
- "setimmediate": "1.0.5",
- "ua-parser-js": "0.7.13"
- }
- },
- "prop-types": {
- "version": "15.6.0",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz",
- "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=",
- "requires": {
- "fbjs": "0.8.16",
- "loose-envify": "1.3.1",
- "object-assign": "4.1.1"
- }
- }
- }
- },
"react-event-listener": {
"version": "0.4.5",
"resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.4.5.tgz",
@@ -8875,6 +8835,25 @@
}
}
},
+ "react-input-mask": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/react-input-mask/-/react-input-mask-2.0.1.tgz",
+ "integrity": "sha512-HTy+j+tpMMf1ygaoR9xODCgwYm6DkdCl1kr2yPDn05SOEQTTKXMrvCeBj7h316DJ9d7q8q5Ti4jSaq68E14tJA==",
+ "requires": {
+ "invariant": "2.2.4",
+ "warning": "3.0.0"
+ },
+ "dependencies": {
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "requires": {
+ "loose-envify": "1.3.1"
+ }
+ }
+ }
+ },
"react-motion": {
"version": "0.4.8",
"resolved": "https://registry.npmjs.org/react-motion/-/react-motion-0.4.8.tgz",
diff --git a/package.json b/package.json
index 4191c69..ed85878 100644
--- a/package.json
+++ b/package.json
@@ -66,6 +66,7 @@
"react-helmet": "^5.1.3",
"react-hot-loader": "^3.0.0-beta.6",
"react-imgix": "^7.1.1",
+ "react-input-mask": "^2.0.1",
"react-jquery-datatables": "^0.7.1",
"react-materialui-notifications": "^0.5.1",
"react-onclickoutside": "^5.10.0",
diff --git a/src/client.js b/src/client.js
index 7487e93..4cbe069 100644
--- a/src/client.js
+++ b/src/client.js
@@ -8,6 +8,10 @@ import { Router, hashHistory, browserHistory } from 'react-router';
import { syncHistoryWithStore, routerMiddleware } from 'react-router-redux';
import reducers from './reducers';
import Instance from './components/Connection';
+import {
+ loggedUser,
+ visitReporter,
+} from 'utils/authorization';
const middleware = routerMiddleware(hashHistory);
const store = createStore(
@@ -55,7 +59,15 @@ const rootRoute = {
onChange: requireAuth,
onEnter: requireAuth,
component: require('./containers/App'),
- indexRoute: { onEnter: (nextState, replace) => replace('/app/table/rides') },
+ indexRoute: {
+ onEnter: (nextState, replace) => {
+ if (loggedUser.anyOf(visitReporter)) {
+ replace('/app/form/visit/' + loggedUser.useruuid)
+ } else {
+ replace('/app/table/rides');
+ }
+ }
+ },
childRoutes: [
require('./routes/app'),
require('./routes/404'),
diff --git a/src/components/Connection/index.js b/src/components/Connection/index.js
index bb5e14f..f79a380 100644
--- a/src/components/Connection/index.js
+++ b/src/components/Connection/index.js
@@ -6,6 +6,9 @@ const Instance = () => {
const apiUrl = process.env.NODE_ENV === 'production'
? 'https://portal-api.bcbsinstitute.com'
: 'https://portal-api.dev.bcbsinstitute.com';
+
+ // const apiUrl = 'http://localhost:5100';
+
window.localStorage.setItem('App', '8a266a40-ed2e-4be2-bdfc-459a507bf02e');
let instance = axios.create({
@@ -61,11 +64,25 @@ const Instance = () => {
return setToken(token);
};
+ const getAPIUrl = (url) => {
+ if (!url) {
+ return instance;
+ } else {
+ const token = getCookie('token');
+ return axios.create({
+ baseURL: url,
+ timeout: 60000,
+ headers: { App: window.localStorage.getItem('App'), Token: `Bearer ${token}`, Token: `Bearer ${token}` },
+ });
+ }
+ }
+
const getRawConn = () => {
const token = getCookie('token');
if (token && token !== null && token !== '') {
return instance;
}
+
window.location.href = '/#/login';
return null;
};
@@ -80,6 +97,7 @@ const Instance = () => {
getConnection,
setToken,
getRawConn,
+ getAPIUrl,
};
};
diff --git a/src/components/Header/NavRightList.js b/src/components/Header/NavRightList.js
index 3caf7e9..f25071b 100644
--- a/src/components/Header/NavRightList.js
+++ b/src/components/Header/NavRightList.js
@@ -6,10 +6,11 @@ import { hashHistory } from 'react-router';
import {
loggedUser,
+ planScheduler,
+ providerScheduler,
visitReporter,
} from 'utils/authorization';
-
const ImgIconButtonStyle = {
width: '60px',
height: '60px'
@@ -34,6 +35,7 @@ class NavRightList extends React.Component {
handleChange = (event, value) => {
hashHistory.push(value);
}
+
componentDidMount() {
const user = JSON.parse(localStorage.getItem('loggedUser'));
if (user) {
@@ -46,6 +48,8 @@ class NavRightList extends React.Component {
-
+
+
}
@@ -63,15 +67,6 @@ class NavRightList extends React.Component {
leftIcon={account_circle}
/>
}
- {!loggedUser.anyOf(visitReporter) &&
-