summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
a81c177)
Signed-off-by: Laurence Maultsby <laurence.maultsby@riftio.com>
+ //id/key values for each project
+ projectId:[],
project: {
/**
* [projectId] : {
project: {
/**
* [projectId] : {
var userProjects = [];
projects && projects.map(function(p, i) {
var users = p['project-config'] && p['project-config'].user;
var userProjects = [];
projects && projects.map(function(p, i) {
var users = p['project-config'] && p['project-config'].user;
+ userData.projectId.push(p.name);
users && users.map(function(u) {
if(u['user-name'] == id) {
userData.project[p.name] = {
users && users.map(function(u) {
if(u['user-name'] == id) {
userData.project[p.name] = {
justify-content: flex-end;
}
.app {
justify-content: flex-end;
}
.app {
+ display: -ms-flexbox;
+ display: block;
position:relative;
margin: auto 0.5rem;
position:relative;
margin: auto 0.5rem;
h2 {
font-size:0.75rem;
border-right: 1px solid black;
display: -ms-flexbox;
display: flex;
h2 {
font-size:0.75rem;
border-right: 1px solid black;
display: -ms-flexbox;
display: flex;
+ -ms-flex-pack: start;
+ -ms-flex-pack: start;
+ justify-content: flex-start;
.oi {
padding-right: 0.5rem;
}
.oi {
padding-right: 0.5rem;
}
display:none;
z-index:2;
width: 100%;
display:none;
z-index:2;
width: 100%;
+ li {
+ text-align:left;
+ }
padding:0.5rem 1rem;
text-decoration:none;
text-transform:uppercase;
padding:0.5rem 1rem;
text-decoration:none;
text-transform:uppercase;
color:white;
}
&:before {
color:white;
}
&:before {
align-items:center;
padding-left: 1rem;
text-transform:uppercase;
align-items:center;
padding-left: 1rem;
text-transform:uppercase;
border-left:1px solid white;
.projectSelect {
padding: 0 0.5rem;
border-left:1px solid white;
.projectSelect {
padding: 0 0.5rem;
"root": "public",
"name": "Accounts",
"dashboard": "./account/accountsDashboard.jsx",
"root": "public",
"name": "Accounts",
"dashboard": "./account/accountsDashboard.jsx",
"priority":1,
"routes": [
{
"priority":1,
"routes": [
{
"dashboard": "./dashboard/dashboard.jsx",
"order": 1,
"priority":1,
"dashboard": "./dashboard/dashboard.jsx",
"order": 1,
"priority":1,
"routes": [
{
"label": "Configuration Dashboard",
"routes": [
{
"label": "Configuration Dashboard",
"root": "public",
"name": "Logging",
"dashboard": "./loggingGeneral.jsx",
"root": "public",
"name": "Logging",
"dashboard": "./loggingGeneral.jsx",
"priority":2,
"admin_link": true,
"routes": [
"priority":2,
"admin_link": true,
"routes": [
"name": "Project Management",
"dashboard": "./dashboard/dashboard.jsx",
"order": 1,
"name": "Project Management",
"dashboard": "./dashboard/dashboard.jsx",
"order": 1,
+ "priority":2,
+ "admin_link": true,
"routes": [
{
"label": "Project Management Dashboard",
"routes": [
{
"label": "Project Management Dashboard",
"dashboard": "./dashboard/dashboard.jsx",
"order": 1,
"priority":1,
"dashboard": "./dashboard/dashboard.jsx",
"order": 1,
"priority":1,
"allow": ["rw-rbac-platform:super-admin", "rw-rbac-platform:platform-admin", "rw-rbac-platform:platform-oper"],
"routes": [
{
"allow": ["rw-rbac-platform:super-admin", "rw-rbac-platform:platform-admin", "rw-rbac-platform:platform-oper"],
"routes": [
{
+
+
+ .userProfile {
+ &-table {
+ thead{
+ font-weight:bold;
+ }
+ font-size: 1rem;
+ tr {
+ td {
+ vertical-align:top;
+ }
+ }
+ }
+ }
}
.addInput, .removeInput {
}
.addInput, .removeInput {
text-transform: uppercase;
}
}
text-transform: uppercase;
}
}
}
componentWillMount() {
this.Store.listen(this.updateState);
}
componentWillMount() {
this.Store.listen(this.updateState);
}
componentWillUnmount() {
this.Store.unlisten(this.updateState);
}
componentWillUnmount() {
this.Store.unlisten(this.updateState);
render() {
let self = this;
render() {
let self = this;
+ const User = this.context.userProfile || {};
let html;
let props = this.props;
let state = this.state;
let html;
let props = this.props;
let state = this.state;
<Button label="EDIT" type="submit" onClick={this.editUser} />
</ButtonGroup>
);
<Button label="EDIT" type="submit" onClick={this.editUser} />
</ButtonGroup>
);
- const User = this.context.userProfile || {};
- passwordSectionHTML = (
- (
- <FormSection title="PASSWORD CHANGE">
- <Input label="NEW PASSWORD" type="password" value={state['new-password']} onChange={this.updateInput.bind(null, 'new-password')}/>
- <Input label="REPEAT NEW PASSWORD" type="password" value={state['confirm-password']} onChange={this.updateInput.bind(null, 'confirm-password')}/>
- </FormSection>
- )
- );
- formButtonsHTML = (
-
-
- <ButtonGroup className="buttonGroup">
- <Button label="Update" type="submit" onClick={this.updateUser} />
- </ButtonGroup>
-
-
- )
+ passwordSectionHTML = (
+ (
+ <FormSection title="PASSWORD CHANGE">
+ <Input label="NEW PASSWORD" type="password" value={state['new-password']} onChange={this.updateInput.bind(null, 'new-password')}/>
+ <Input label="REPEAT NEW PASSWORD" type="password" value={state['confirm-password']} onChange={this.updateInput.bind(null, 'confirm-password')}/>
+ </FormSection>
+ )
+ );
+ formButtonsHTML = (
+ <ButtonGroup className="buttonGroup">
+ <Button label="Update" type="submit" onClick={this.updateUser} />
+ </ButtonGroup>
+ )
html = (
<PanelWrapper column>
<PanelWrapper className={`row userManagement ${!this.state.userOpen ? 'userList-open' : ''}`} style={{'flexDirection': 'row'}} >
<PanelWrapper ref={(div) => { this.UserList = div}} className={`column userList expanded hideColumns`}>
<Panel title={User.userId} style={{marginBottom: 0}} no-corners>
html = (
<PanelWrapper column>
<PanelWrapper className={`row userManagement ${!this.state.userOpen ? 'userList-open' : ''}`} style={{'flexDirection': 'row'}} >
<PanelWrapper ref={(div) => { this.UserList = div}} className={`column userList expanded hideColumns`}>
<Panel title={User.userId} style={{marginBottom: 0}} no-corners>
- <table>
- <thead>
- <tr>
- <td>User Name</td>
+ <FormSection title="USER INFO">
+ <table className="userProfile-table">
+ <thead>
+ <tr>
+ <td>Project</td>
+ <td>Role</td>
+ </tr>
+ </thead>
+ <tbody>
- state.roles.map((r,i) => {
- return <td key={i}>{r}</td>
+ User.data && User.data.projectId && User.data.projectId.map((p,i)=> {
+ let project = User.data.project[p];
+ let projectConfig = project && project.data['project-config'];
+ let userRoles = [];
+ return (
+ <tr key={i}>
+ <td>
+ {p}
+ </td>
+ <td>
+ {
+ project && Object.keys(project.role).map(function(k) {
+ return <div>{k}</div>
+ })
+ }
+ </td>
+ </tr>
+ )
- </tr>
- </thead>
- <tbody>
- {
- User.projects && User.projects.map((p,i)=> {
- let projectConfig = p['project-config'];
- let userRoles = [];
- if(projectConfig && projectConfig.user) {
- projectConfig.user.map((u) => {
- if(u['user-name'] == User.userId) {
- userRoles = u.role && u.role.map((r) => {
- return r.role;
- })
- }
- })
- }
- return (
- <tr key={i}>
- <td>
- {p.name}
- </td>
- {
- state.roles.map((r,j) => {
- return <td key={j}><Input readonly={state.isReadOnly} type="checkbox" checked={(userRoles.indexOf(r) > -1)} /></td>
- })
- }
- </tr>
- )
- })
- }
- </tbody>
- </table>
+ </tbody>
+ </table>
+ </FormSection>
</PanelWrapper>
</PanelWrapper>
</PanelWrapper>
</PanelWrapper>