Compare commits

..

2 Commits

Author SHA1 Message Date
GotPPay
4b86c36e8a hide profile from top menu and substitute book ride for visit 2018-05-25 17:23:27 +02:00
GotPPay
ef904e4e38 fix getting roles 2018-05-25 17:15:31 +02:00
6 changed files with 195 additions and 358 deletions

View File

@@ -29,8 +29,8 @@ const isFunction = (functionToCheck) => {
};
const requireAuth = (nextState, replace, next) => {
if (nextState.location.pathname === '/login' || nextState.location.pathname === '/sign-up' || nextState.location.pathname === '/selfRegister' || (nextState.location.pathname.indexOf('/ride') > -1 && nextState.params.ride_uuid !== undefined && nextState.params.user_uuid !== undefined)
|| (!isFunction(replace) && (replace.location.pathname === '/login' || replace.location.pathname === '/sign-up' || nextState.location.pathname === '/selfRegister' || (replace.location.pathname.indexOf('/ride') > -1 && replace.params.ride_uuid !== undefined && replace.params.user_uuid !== undefined)))) {
if (nextState.location.pathname === '/login' || nextState.location.pathname === '/sign-up' || (nextState.location.pathname.indexOf('/ride') > -1 && nextState.params.ride_uuid !== undefined && nextState.params.user_uuid !== undefined)
|| (!isFunction(replace) && (replace.location.pathname === '/login' || replace.location.pathname === '/sign-up' || (replace.location.pathname.indexOf('/ride') > -1 && replace.params.ride_uuid !== undefined && replace.params.user_uuid !== undefined)))) {
next();
}

View File

@@ -4,6 +4,12 @@ import MenuItem from 'material-ui/MenuItem';
import IconButton from 'material-ui/IconButton/IconButton';
import { hashHistory } from 'react-router';
import {
loggedUser,
visitReporter,
} from 'utils/authorization';
const ImgIconButtonStyle = {
width: '60px',
height: '60px'
@@ -48,20 +54,33 @@ class NavRightList extends React.Component {
targetOrigin={{ horizontal: 'right', vertical: 'top' }}
menuStyle={{ minWidth: '150px' }}
>
<MenuItem
onTouchTap={(e) => this.handleChange(e, `/app/authorizedusers/${this.state.useruuid}`)}
primaryText="Profile"
style={{ fontSize: '14px', lineHeight: '48px' }}
innerDivStyle={listItemStyle}
leftIcon={<i className="material-icons">account_circle</i>}
/>
<MenuItem
onTouchTap={(e) => this.handleChange(e, `/app/form/steppers/${this.state.useruuid}`)}
primaryText="Book Ride"
innerDivStyle={listItemStyle}
style={{ fontSize: '14px', lineHeight: '48px' }}
leftIcon={<i className="material-icons">mode_edit</i>}
/>
{!loggedUser.anyOf(visitReporter) &&
<MenuItem
onTouchTap={(e) => this.handleChange(e, `/app/authorizedusers/${this.state.useruuid}`)}
primaryText="Profile"
style={{ fontSize: '14px', lineHeight: '48px' }}
innerDivStyle={listItemStyle}
leftIcon={<i className="material-icons">account_circle</i>}
/>
}
{!loggedUser.anyOf(visitReporter) &&
<MenuItem
onTouchTap={(e) => this.handleChange(e, `/app/form/steppers/${this.state.useruuid}`)}
primaryText="Book Ride"
innerDivStyle={listItemStyle}
style={{ fontSize: '14px', lineHeight: '48px' }}
leftIcon={<i className="material-icons">mode_edit</i>}
/>
}
{loggedUser.anyOf(visitReporter) &&
<MenuItem
onTouchTap={(e) => this.handleChange(e, `/app/form/visit/${this.state.useruuid}`)}
primaryText="Create Visit"
innerDivStyle={listItemStyle}
style={{ fontSize: '14px', lineHeight: '48px' }}
leftIcon={<i className="material-icons">mode_edit</i>}
/>
}
<MenuItem
onTouchTap={(e) => this.handleChange(e, `/login`)}
primaryText="Log Out"

View File

@@ -46,14 +46,12 @@ export class ValidationErrorsInfoDialog extends React.Component {
overlayStyle={{ backgroundColor: 'transparent' }}
>
{this.props.errorMessages.map(errorMessage => {
const oneValidationMessage = (<span><a>{errorMessage.message}</a><br /></span>);
const oneValidationMessageWithTab = (<span><li style={{ marginLeft: 2 + "em" }}>{errorMessage.message}</li></span>);
if (errorMessage.field_name === "password-tab") {
return oneValidationMessageWithTab;
} else {
return oneValidationMessage;
}
return (
<div>
<a>{errorMessage.message}</a>
<br />
</div>
);
})}
</Dialog>
</div>

View File

@@ -115,7 +115,6 @@ export class NEMTLocation extends React.Component {
long: 0
},
providers: [],
locations: [],
currentSelection: {
id: 0,
name: "",
@@ -126,7 +125,6 @@ export class NEMTLocation extends React.Component {
saved: false,
},
inputValue: "",
locationValue: "",
addLocation: false,
searchAddresses: [],
addLocationText: '',
@@ -145,12 +143,6 @@ export class NEMTLocation extends React.Component {
id: '',
name: '',
address: '',
},
centerLocation: {
lat: 0,
long: 0,
name: '',
address: '',
}
}
@@ -172,8 +164,6 @@ export class NEMTLocation extends React.Component {
this.updateLocation = this.updateLocation.bind(this);
this.handleGetClosestPlace = this.handleGetClosestPlace.bind(this);
this.updateLocationValue = this.updateLocationValue.bind(this);
this.handleAutoCompleteLocation = this.handleAutoCompleteLocation.bind(this);
// this.updateLocation().then(console.log);
@@ -194,71 +184,52 @@ export class NEMTLocation extends React.Component {
}
geoSuccess = (position) => {
let lat = 0;
let long = 0;
if (this.state.centerLocation.lat !== 0 && this.state.centerLocation.long !== 0) {
lat = this.state.centerLocation.lat;
long = this.state.centerLocation.long;
} else {
const geo = GeolocationService.GetCoordinates();
lat = geo.lat;
long = geo.long;
}
if (lat === 0 || long === 0) {
lat = 41.886406;
long = -87.624225;
}
const geo = GeolocationService.GetCoordinates();
// self.updateLocation().then(p => {
let lat = geo.lat;
let long = geo.long;
this.locateNearby(lat, long)
}
locateNearby = (lat, long) => {
if (lat === 0 || long === 0) {
lat = 41.886406;
long = -87.624225;
}
if (this.state.locationType === 'provider') {
let url = `/v1/nemt/provider?lat=${lat}&long=${long}&limit=50&sortby=distance`
Instance.getRawConn().get(url).then(res => {
Instance.getRawConn().get(`/v1/nemt/provider/participating?sort=distance&lat=${lat}&long=${long}`).then(res => {
let nearByPlaces = [];
if (res.data.resultStatus === 'SUCCESS') {
let providers = res.data.providers.map(p => {
const streetNumber = p.streetName_1.split(' ')[0]
let providers = res.data.map(p => {
if (p.address.street_address_1) {
const streetNumber = p.address.street_address_1.split(' ')[0]
let clickResult = {
id: p.mukId,
muk_id: p.mukId,
address: `${p.streetName_1}, ${p.cityName}, ${p.state} (${p.zipCode.substr(0, 5)})`,
lat: parseFloat(p.latitude),
lng: parseFloat(p.longitude),
name: p.providerName,
type: 'provider',
id: p.muk_id,
address: `${p.address.street_address_1}, ${p.address.city}, ${p.address.state} (${p.address.zipcode})`,
lat: p.address.lat,
lng: p.address.long,
name: p.name,
type: "provider",
raw: p,
street_number: streetNumber,
street: p.streetName_1.replace(streetNumber, '').trim(),
city: p.cityName,
state: p.state,
zipcode: p.zipCode.substr(0, 5),
country: p.country,
street: p.address.street_address_1.replace(streetNumber, '').trim(),
city: p.address.city,
state: p.address.state,
zipcode: p.address.zipcode.substring(0, 5),
country: p.address.country,
saved: false,
}
clickResult.address = `${clickResult.street_number} ${clickResult.street}, ${clickResult.city}`
if (p.fivePartKeyGroups.length > 0) {
clickResult.npi = p.fivePartKeyGroups[0].providerNum;
}
var listItem = (<ListItem primaryText={p.providerName} secondaryText={clickResult.address} key={p.mukId} rightIcon={<MapsLocalHospital />} onClick={(event) => this.handlePlaceChanged(clickResult)} />)
var listItem = (<ListItem primaryText={p.name} secondaryText={clickResult.address} key={p.muk_id} rightIcon={<MapsLocalHospital />} onClick={(event) => this.handlePlaceChanged(clickResult)} />)
nearByPlaces.push(listItem);
p.providerText = `${p.providerName} - ${p.streetName_1}, ${p.cityName}, ${p.state} (${p.zipCode.substr(0, 5)}) (${p.phoneNumber})`
p.muk_id = p.mukId
p.providerText = `${p.name} - ${p.address.street_address_1}, ${p.address.city}, ${p.address.state} (${p.address.zipcode}) (${p.address.phone_number})`
}
return p;
});
return p;
});
this.setState(Object.assign(this.state, { nearbyPlaces: nearByPlaces, providers: providers }));
}
this.setState(Object.assign(this.state, { nearbyPlaces: nearByPlaces, providers: providers }));
});
} else {
var pyrmont = new google.maps.LatLng(lat, long);
@@ -524,103 +495,28 @@ export class NEMTLocation extends React.Component {
this.locateNearby(41.886406, -87.624225);
}
updateLocationValue(searchText, dtSource, params) {
let self = this;
self.setState(Object.assign(self.state, { locationValue: searchText }));
if (searchText.length >= 3) {
let lat = 0;
let long = 0;
if (this.state.centerLocation.lat !== 0 && this.state.centerLocation.long !== 0) {
lat = this.state.centerLocation.lat;
long = this.state.centerLocation.long;
} else {
const geo = GeolocationService.GetCoordinates();
lat = geo.lat;
long = geo.long;
}
if (lat === 0 || long === 0) {
lat = 41.886406;
long = -87.624225;
}
var location = new google.maps.LatLng(lat, long);
var request = {
location: location,
radius: '500',
input: searchText,
componentRestrictions: { country: 'us' },
};
const callback = (results, status) => {
if (status == google.maps.places.PlacesServiceStatus.OK) {
var googlePlaces = results.map(place => {
place.providerText = place.description;
place.muk_id = place.id;
place.saved = false;
return place;
});
self.setState(Object.assign(self.state, { locations: googlePlaces }));
}
}
service.getPlacePredictions(request, callback);
}
}
updateTextSearch(searchText, dtSource, params) {
let self = this;
self.setState(Object.assign(self.state, { inputValue: searchText }));
if (searchText.length >= 3) {
let lat = 0;
let long = 0;
if (this.state.centerLocation.lat !== 0 && this.state.centerLocation.long !== 0) {
lat = this.state.centerLocation.lat;
long = this.state.centerLocation.long;
} else {
const geo = GeolocationService.GetCoordinates();
lat = geo.lat;
long = geo.long;
}
let lat = self.state.geolocation.lat;
let long = self.state.geolocation.long;
if (lat === 0 || long === 0) {
lat = 41.886406;
long = -87.624225;
}
if (self.state.locationType === 'provider') {
let url = `/v1/nemt/provider?lat=${lat}&long=${long}&limit=50&name=${searchText}&sortby=distance`
//let url = `/v1/nemt/provider?lat=${lat}&long=${long}&limit=20&name=${searchText}&sortby=distance`
let url = `/v1/nemt/provider/participating?lat=${lat}&long=${long}&query=${searchText}&sortby=distance`
Instance.getRawConn().get(encodeURI(url)).then(res => {
if (res.data.resultStatus === 'SUCCESS') {
let providers = res.data.providers.map(p => {
const streetNumber = p.streetName_1.split(' ')[0]
p.providerText = `${p.providerName} - ${p.streetName_1}, ${p.cityName}, ${p.state} (${p.zipCode.substr(0, 5)}) (${p.phoneNumber})`
p.muk_id = p.mukId
let clickResult = {
id: p.mukId,
muk_id: p.mukId,
address: `${p.streetName_1}, ${p.cityName}, ${p.state} (${p.zipCode.substr(0, 5)})`,
lat: parseFloat(p.latitude),
lng: parseFloat(p.longitude),
name: p.providerName,
type: 'provider',
raw: p,
street_number: streetNumber,
street: p.streetName_1.replace(streetNumber, '').trim(),
city: p.cityName,
state: p.state,
zipcode: p.zipCode.substr(0, 5),
country: p.country,
saved: false,
}
if (p.fivePartKeyGroups.length > 0) {
clickResult.npi = p.fivePartKeyGroups[0].providerNum;
}
if (res.data.length > 0) {
let places = res.data.map(p => {
p.providerText = `${p.name} - ${p.address.street_address_1}, ${p.address.city}, ${p.address.state} (${p.address.zipcode}) (${p.address.phone_number})`
p.saved = false
return p;
});
this.setState(Object.assign(this.state, { providers: providers }));
})
self.setState(Object.assign(self.state, { providers: places }));
dtSource = self.state.providers;
}
});
@@ -658,59 +554,42 @@ export class NEMTLocation extends React.Component {
this.setState(Object.assign(this.state, { addLocationTextValue: providerSearch }));
if (providerSearch.length >= 3) {
let lat = 0;
let long = 0;
if (this.state.centerLocation.lat !== 0 && this.state.centerLocation.long !== 0) {
lat = this.state.centerLocation.lat;
long = this.state.centerLocation.long;
} else {
const geo = GeolocationService.GetCoordinates();
lat = geo.lat;
long = geo.long;
}
const geo = GeolocationService.GetCoordinates();
let lat = geo.lat;
let long = geo.long;
if (lat === 0 || long === 0) {
lat = 41.886406;
long = -87.624225;
}
if (this.state.locationType === 'provider') {
let url = `/v1/nemt/provider?lat=${lat}&long=${long}&limit=50&name=${providerSearch}&sortby=distance`
let url = `/v1/nemt/provider/participating?lat=${lat}&long=${long}&query=${providerSearch}&sortby=distance`
Instance.getRawConn().get(encodeURI(url)).then(res => {
if (res.data.resultStatus === 'SUCCESS') {
let providers = res.data.providers.map(p => {
const streetNumber = p.streetName_1.split(' ')[0]
p.providerText = `${p.providerName} - ${p.streetName_1}, ${p.cityName}, ${p.state} (${p.zipCode.substr(0, 5)}) (${p.phoneNumber})`
p.muk_id = p.mukId
let places = res.data.map(p => {
const streetNumber = p.address.street_address_1.split(' ')[0]
p.providerText = `${p.name} - ${p.address.street_address_1}, ${p.address.city}, ${p.address.state} (${p.address.zipcode}) (${p.address.phone_number})`
let clickResult = {
id: p.muk_id,
address: `${p.address.street_address_1}, ${p.address.city}, ${p.address.state} (${p.address.zipcode})`,
lat: p.address.lat,
lng: p.address.long,
name: p.name,
type: "provider",
raw: p,
street_number: streetNumber,
street: p.address.street_address_1.replace(streetNumber, '').trim(),
city: p.address.city,
state: p.address.state,
zipcode: p.address.zipcode.substring(0, 5),
country: p.address.country,
saved: false,
}
clickResult.address = `${clickResult.street_number} ${clickResult.street}, ${clickResult.city}`
let clickResult = {
id: p.mukId,
muk_id: p.mukId,
address: `${p.streetName_1}, ${p.cityName}, ${p.state} (${p.zipCode.substr(0, 5)})`,
lat: parseFloat(p.latitude),
lng: parseFloat(p.longitude),
name: p.providerName,
type: 'provider',
raw: p,
street_number: streetNumber,
street: p.streetName_1.replace(streetNumber, '').trim(),
city: p.cityName,
state: p.state,
zipcode: p.zipCode.substr(0, 5),
country: p.country,
saved: false,
}
var listItem = (<ListItem value={p.muk_id} primaryText={p.name} secondaryText={clickResult.address} key={p.muk_id} rightIcon={<MapsLocalHospital />} onClick={(event) => this.handleSaveAddress(clickResult, this)} />)
return listItem;
});
if (p.fivePartKeyGroups.length > 0) {
clickResult.npi = p.fivePartKeyGroups[0].providerNum;
}
var listItem = (<ListItem primaryText={p.providerName} secondaryText={clickResult.address} key={p.mukId} value={p.mukId} rightIcon={<MapsLocalHospital />} onClick={(event) => this.handleSaveAddress(clickResult)} />)
return listItem;
});
this.setState(Object.assign(this.state, { searchAddresses: providers }));
}
this.setState(Object.assign(this.state, { searchAddresses: places }));
});
} else {
var location = new google.maps.LatLng(lat, long);
@@ -837,68 +716,6 @@ export class NEMTLocation extends React.Component {
}
}
handleAutoCompleteLocation = (location) => {
const self = this;
placeService.getDetails(location, (result, status) => {
if (status == google.maps.places.PlacesServiceStatus.OK) {
let clickResult = {
id: result.place_id,
placeId: result.place_id,
address: result.formatted_address ? result.formatted_address : result.vicinity,
lat: result.geometry.location.lat(),
lng: result.geometry.location.lng(),
name: result.name,
type: "google",
raw: result,
street_number: '',
street: '',
city: '',
state: '',
zipcode: '',
country: '',
saved: false,
}
result.address_components.forEach(a => {
a.types.forEach(c => {
switch (c) {
case "street_number":
clickResult.street_number = a.short_name;
break;
case "route":
clickResult.street = a.short_name;
break;
case "locality":
clickResult.city = a.short_name;
break;
case "administrative_area_level_1":
clickResult.state = a.short_name;
break;
case "country":
clickResult.country = a.short_name;
break;
case "postal_code":
clickResult.zipcode = a.short_name;
break;
}
}, this)
}, this);
clickResult.address = `${clickResult.street_number} ${clickResult.street}, ${clickResult.city}`
const centerLocation = {
lat: clickResult.lat,
long: clickResult.lng,
name: clickResult.name,
address: clickResult.address
}
self.setState(Object.assign(self.state, { centerLocation: centerLocation }));
self.locateNearby(clickResult.lat, clickResult.lng);
}
});
}
handleAutocomplete = (provider) => {
const sendInfo = (clickResult) => {
this.setState(Object.assign(this.state, { currentSelection: clickResult }));
@@ -918,32 +735,24 @@ export class NEMTLocation extends React.Component {
}
if (this.state.locationType === "provider") {
const p = provider;
const streetNumber = p.streetName_1.split(' ')[0]
p.providerText = `${p.providerName} - ${p.streetName_1}, ${p.cityName}, ${p.state} (${p.zipCode.substr(0, 5)}) (${p.phoneNumber})`
p.muk_id = p.mukId
const streetNumber = provider.address.street_address_1.split(' ')[0]
let clickResult = {
id: p.mukId,
muk_id: p.mukId,
address: `${p.streetName_1}, ${p.cityName}, ${p.state} (${p.zipCode.substr(0, 5)})`,
lat: parseFloat(p.latitude),
lng: parseFloat(p.longitude),
name: p.providerName,
type: 'provider',
raw: p,
id: provider.muk_id,
address: `${provider.address.street_address_1}, ${provider.address.city}, ${provider.address.state} (${provider.address.zipcode})`,
lat: provider.address.lat,
lng: provider.address.long,
name: provider.name,
type: "provider",
raw: provider,
street_number: streetNumber,
street: p.streetName_1.replace(streetNumber, '').trim(),
city: p.cityName,
state: p.state,
zipcode: p.zipCode.substr(0, 5),
country: p.country,
street: provider.address.street_address_1.replace(streetNumber, '').trim(),
city: provider.address.city,
state: provider.address.state,
zipcode: provider.address.zipcode.substring(0, 5),
country: provider.address.country,
saved: false,
}
if (p.fivePartKeyGroups.length > 0) {
clickResult.npi = p.fivePartKeyGroups[0].providerNum;
}
clickResult.address = `${clickResult.street_number} ${clickResult.street}, ${clickResult.city}`
sendInfo(clickResult);
} else {
@@ -1033,51 +842,42 @@ export class NEMTLocation extends React.Component {
handleCurrentLocation(e) {
const self = this;
let lat = 0;
let long = 0;
if (this.state.centerLocation.lat !== 0 && this.state.centerLocation.long !== 0) {
lat = this.state.centerLocation.lat;
long = this.state.centerLocation.long;
} else {
const geo = GeolocationService.GetCoordinates();
lat = geo.lat;
long = geo.long;
}
const geo = GeolocationService.GetCoordinates();
// self.updateLocation().then(p => {
let lat = geo.lat;
let long = geo.long;
if (lat === 0 || long === 0) {
lat = 41.886406;
long = -87.624225;
}
if (self.state.locationType === 'provider') {
let url = `/v1/nemt/provider?lat=${lat}&long=${long}&limit=50&sortby=distance`
Instance.getRawConn().get(url).then(res => {
Instance.getRawConn().get(`/v1/nemt/provider/participating?sort=distance&lat=${lat}&long=${long}`).then(res => {
let listItem = (<ListItem primaryText="No location found" key="-1" leftIcon={<MapsNearMe />} onClick={self.handleCurrentLocation} />)
if (res.data.resultStatus === 'SUCCESS') {
const p = res.data.providers[0];
const streetNumber = p.streetName_1.split(' ')[0]
if (res.data.length > 0) {
const result = res.data[0];
const streetNumber = result.address.street_address_1.split(' ')[0]
let clickResult = {
id: p.mukId,
address: `${p.streetName_1}, ${p.cityName}, ${p.state} (${p.zipCode.substr(0, 5)})`,
lat: parseFloat(p.latitude),
lng: parseFloat(p.longitude),
name: p.providerName,
type: 'provider',
raw: p,
id: result.muk_id,
address: `${result.address.street_address_1}, ${result.address.city}, ${result.address.state} (${result.address.zipcode})`,
lat: result.address.lat,
lng: result.address.long,
name: result.name,
type: "provider",
raw: result,
street_number: streetNumber,
street: p.streetName_1.replace(streetNumber, '').trim(),
city: p.cityName,
state: p.state,
zipcode: p.zipCode.substr(0, 5),
country: p.country,
street: result.address.street_address_1.replace(streetNumber, '').trim(),
city: result.address.city,
state: result.address.state,
zipcode: result.address.zipcode.substring(0, 5),
country: result.address.country,
saved: false,
}
if (p.fivePartKeyGroups.length > 0) {
clickResult.npi = p.fivePartKeyGroups[0].providerNum;
}
clickResult.address = `${clickResult.street_number} ${clickResult.street}, ${clickResult.city}`
self.handlePlaceChanged(clickResult)
//listItem = (<ListItem primaryText={clickResult.name} secondaryText={clickResult.address} key={clickResult.muk_id} leftIcon={<MapsNearMe />} onClick={(event) => self.handlePlaceChanged(clickResult)} />)
}
//self.setState(Object.assign(self.state, { currentLocation: listItem }));
}).catch(console.error);
} else {
var location = new google.maps.LatLng(lat, long);
@@ -1338,7 +1138,6 @@ export class NEMTLocation extends React.Component {
let listItem = (
<div className="" id="container">
<AutoComplete dataSourceConfig={datasourceConfig} dataSource={this.state.locations} filter={this.filterResults} maxSearchResults={5} onUpdateInput={this.updateLocationValue} fullWidth={true} floatingLabelText="Center Location" onNewRequest={this.handleAutoCompleteLocation} searchText={this.state.locationValue} />
{autosuggest}
<List>
{this.state.currentLocation}
@@ -1396,4 +1195,4 @@ export class NEMTLocation extends React.Component {
</div>
);
}
}
}

View File

@@ -156,8 +156,14 @@ class SignUp extends React.Component {
};
handlePhone = (event) => {
let phone = event.target.value;
if (phone.indexOf("+1") < 0 && phone.length == 10) {
phone = "+1" + phone;
phone = phone.substring(0, 12);
}
const user = this.props.user;
user.phonenumber = event.target.value;;
user.phonenumber = phone;
if (this.props.onUserChanged) {
this.props.onUserChanged(user);
}
@@ -668,14 +674,10 @@ class VerticalNonLinear extends React.Component {
let self = state;
const { stepIndex } = self.state;
//console.log('Step Index: ', stepIndex)
console.log('Step Index: ', stepIndex)
switch (stepIndex) {
case 1:
case 0:
const eligibility = {
"provider": {
"provider_npi": self.state.destination.raw.fivePartKeyGroups[0].providerNum,
"provider_name": self.state.destination.raw.providerName
},
"subscriber": {
"patient_type": self.state.user.type,
"subscriber_id": self.state.user.member,
@@ -686,12 +688,10 @@ class VerticalNonLinear extends React.Component {
"demographic_info": {
"date_of_birth": self.state.user.birthdate,
"gender": self.state.user.gender
},
"user": self.state.user,
}
}
};
console.log(JSON.stringify(eligibility));
Instance.getRawConn().post('/v1/nemt/eligibility', eligibility).then(function (res) {
self.setState(Object.assign(self.state, { stepIndex: stepIndex + 1, user: res.data }));
}).catch(err => {
@@ -1101,18 +1101,6 @@ class VerticalNonLinear extends React.Component {
>
<Step>
<StepButton onClick={() => this.setState({ stepIndex: 0 })}>
Provider
</StepButton>
<StepContent>
<form role="form">
<NEMTLocation type="flat" data={this.state} title={"Provider"} value={""} buttonvalue={this.state.buttonProviderText} onPlaceChanged={(provider) => this.handleProviderChanged(provider, this)} fontSize={12} locationType="provider" loadSuggestion={true} address={this.state.destination} />
{/* <div className="divider" /> */}
</form>
{this.renderStepActions(1, this)}
</StepContent>
</Step>
<Step>
<StepButton onClick={() => this.setState({ stepIndex: 1 })}>
Member
</StepButton>
<StepContent>
@@ -1125,6 +1113,21 @@ class VerticalNonLinear extends React.Component {
{this.renderStepActions(0, this)}
</StepContent>
</Step>
<Step>
<StepButton onClick={() => this.setState({ stepIndex: 1 })}>
Provider
</StepButton>
<StepContent>
<form role="form">
<NEMTLocation type="flat" data={this.state} title={"Provider"} value={""} buttonvalue={this.state.buttonProviderText} onPlaceChanged={(provider) => this.handleProviderChanged(provider, this)} fontSize={12} locationType="provider" loadSuggestion={true} address={this.state.destination} />
{/* <div className="divider" /> */}
</form>
{this.renderStepActions(1, this)}
</StepContent>
</Step>
<Step>
<StepButton onClick={() => this.setState({ stepIndex: 2 })}>
Visit Details

View File

@@ -17,8 +17,6 @@ import Toggle from 'material-ui/Toggle';
import Snackbar from 'material-ui/Snackbar';
import Instance from '../../../components/Connection';
import ValidationErrorsInfoDialog from '../../../components/Shared/ValidationErrorsInfoDialog';
class SignUp extends React.Component {
constructor(props) {
super(props);
@@ -56,7 +54,8 @@ class SignUp extends React.Component {
this.clickEvent = this.clickEvent.bind(this);
}
componentDidMount = () => { }
componentDidMount = () => {
}
buttonValidated = () => {
let validated = true;
@@ -129,7 +128,7 @@ class SignUp extends React.Component {
"pass": this.state.pass,
};
Instance.setToken(null).post('/v1/selfregister/', user).then(function (res) {
Instance.getRawConn().post('/v1/selfregister/', user).then(function (res) {
localStorage.removeItem('loggedUser');
location.href = '/#/login';
}).catch(function (err) {
@@ -146,13 +145,29 @@ class SignUp extends React.Component {
});
}
handleValidationErrosDialogDismiss() {
this.setState(Object.assign(this.state, {
showValidationErrors: false
}));
handleDismiss() {
this.setState(Object.assign(this.state, { showErrorMessage: false }));
}
render() {
let validationErrors = null;
if (this.state.showValidationErrors) {
validationErrors = (
<ul>
{this.state.validationErrors.map(errorMessage => {
const oneValidationMessage = (<li>{errorMessage.message}</li>);
const oneValidationMessageWithTab = (<span><li style={{ marginLeft: 2 + "em" }}>{errorMessage.message}</li></span>);
if (errorMessage.field_name === "password-tab") {
return oneValidationMessageWithTab;
} else {
return oneValidationMessage;
}
})}
</ul>
);
}
return (
<div className="body-inner">
@@ -231,7 +246,10 @@ class SignUp extends React.Component {
<div className="form-group">
<p className="text-small">By clicking on sign up, you agree to <a href="javascript:;"><i>terms</i></a> and <a href="javascript:;"><i>privacy policy</i></a></p>
</div>
<ValidationErrorsInfoDialog open={this.state.showValidationErrors} errorMessages={this.state.validationErrors} onDismiss={this.handleValidationErrosDialogDismiss.bind(this)} />
<div className="divider" />
<div className="form-group">
{validationErrors}
</div>
</fieldset>
</form>
</div>