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
3 changed files with 68 additions and 45 deletions

View File

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

View File

@@ -101,10 +101,10 @@ class SidebarContent extends React.Component {
return ( return (
<ul className="nav" ref={(c) => { this.nav = c; }}> <ul className="nav" ref={(c) => { this.nav = c; }}>
{loggedUser.anyOf(planScheduler, visitReporter) && {loggedUser.anyOf(visitReporter) &&
<li><FlatButton className="prepend-icon" href={"#/app/form/visit/" + this.state.user.useruuid}><span>Create Visit</span></FlatButton></li> <li><FlatButton className="prepend-icon" href={"#/app/form/visit/" + this.state.user.useruuid}><span>Create Visit</span></FlatButton></li>
} }
{!loggedUser.anyOf(planScheduler, visitReporter) && {!loggedUser.anyOf(visitReporter) &&
<li> <li>
<FlatButton href="#/app/form"><i className="nav-icon material-icons cyan-text text-lighter-4">directions_car</i><span className="nav-text">Rides</span></FlatButton> <FlatButton href="#/app/form"><i className="nav-icon material-icons cyan-text text-lighter-4">directions_car</i><span className="nav-text">Rides</span></FlatButton>
<ul> <ul>
@@ -113,7 +113,7 @@ class SidebarContent extends React.Component {
</ul> </ul>
</li> </li>
} }
{!loggedUser.anyOf(planScheduler, visitReporter) && {!loggedUser.anyOf(visitReporter) &&
<li> <li>
<FlatButton href="#/app/chart"><i className="nav-icon material-icons">people_outline</i><span className="nav-text">Members</span></FlatButton> <FlatButton href="#/app/chart"><i className="nav-icon material-icons">people_outline</i><span className="nav-text">Members</span></FlatButton>
<ul> <ul>
@@ -122,6 +122,7 @@ class SidebarContent extends React.Component {
</ul> </ul>
</li> </li>
} }
{!loggedUser.anyOf(visitReporter) &&
<li> <li>
<FlatButton href="#/app/chart"><i className="nav-icon material-icons">schedule</i><span className="nav-text">Visits</span></FlatButton> <FlatButton href="#/app/chart"><i className="nav-icon material-icons">schedule</i><span className="nav-text">Visits</span></FlatButton>
<ul> <ul>
@@ -129,7 +130,9 @@ class SidebarContent extends React.Component {
<li> <FlatButton className="prepend-icon" href="#/app/table/visits"><span className="nav-text">Manage Visits</span></FlatButton></li> <li> <FlatButton className="prepend-icon" href="#/app/table/visits"><span className="nav-text">Manage Visits</span></FlatButton></li>
</ul> </ul>
</li> </li>
}
{!loggedUser.anyOf(visitReporter) &&
<li> <li>
<FlatButton href="#/app/chart"><i className="nav-icon material-icons">settings</i><span className="nav-text">Manage</span></FlatButton> <FlatButton href="#/app/chart"><i className="nav-icon material-icons">settings</i><span className="nav-text">Manage</span></FlatButton>
<ul> <ul>
@@ -152,6 +155,7 @@ class SidebarContent extends React.Component {
</li> */} </li> */}
</ul> </ul>
</li> </li>
}
<li className="nav-divider" /> <li className="nav-divider" />
</ul> </ul>

View File

@@ -11,7 +11,7 @@ const normalizeRoles = (profiles) => {
} }
if (roleKeys.length === 1) { if (roleKeys.length === 1) {
return profiles[roleKeys[0]].authorize; return profiles[roleKeys[0]].roles;
} }
const roles = profiles.reduce((result, profile) => { const roles = profiles.reduce((result, profile) => {