Fix merge conflicts

pull/5028/head^2
Alex P 2017-10-31 18:26:54 -07:00
commit 73c9818c5a
2 changed files with 74 additions and 27 deletions

View File

@ -4,7 +4,13 @@ import _ from 'lodash'
import Dropdown from 'shared/components/Dropdown' import Dropdown from 'shared/components/Dropdown'
import {DEFAULT_ORG, NO_ORG, USER_ROLES} from 'src/admin/constants/dummyUsers' import {
DUMMY_ORGS,
DEFAULT_ORG,
NO_ORG,
NO_ROLE,
USER_ROLES,
} from 'src/admin/constants/dummyUsers'
import {USERS_TABLE} from 'src/admin/constants/chronografTableSizing' import {USERS_TABLE} from 'src/admin/constants/chronografTableSizing'
class ChronografUsersTable extends Component { class ChronografUsersTable extends Component {
@ -26,9 +32,19 @@ class ChronografUsersTable extends Component {
// Expects Users to always have at least 1 role (as a member of the default org) // Expects Users to always have at least 1 role (as a member of the default org)
if (user.roles.length === 1) { if (user.roles.length === 1) {
return ( return (
<a href="#" onClick={this.handleChooseFilter(NO_ORG)}> <Dropdown
{NO_ORG} items={DUMMY_ORGS.filter(org => {
</a> return !(org.name === DEFAULT_ORG || org.name === NO_ORG)
}).map(r => ({
...r,
text: r.name,
}))}
selected={NO_ORG}
onChoose={this.handleChangeUserRole(user, NO_ROLE)}
buttonColor="btn-primary"
buttonSize="btn-xs"
className="dropdown-190"
/>
) )
} }
@ -67,9 +83,9 @@ class ChronografUsersTable extends Component {
renderRoleCell = user => { renderRoleCell = user => {
const {organizationName} = this.props const {organizationName} = this.props
// Expects Users to always have at least 1 role (as a member of the default org) // User must be part of more than one organization to be able to be assigned a role
if (user.roles.length === 1) { if (user.roles.length === 1) {
return <span className="chronograf-user--role">No Role</span> return <span className="chronograf-user--role">N/A</span>
} }
if (organizationName === DEFAULT_ORG) { if (organizationName === DEFAULT_ORG) {
@ -87,17 +103,28 @@ class ChronografUsersTable extends Component {
selected={role.name} selected={role.name}
onChoose={this.handleChangeUserRole(user, role)} onChoose={this.handleChangeUserRole(user, role)}
buttonColor="btn-primary" buttonColor="btn-primary"
className="dropdown-140" buttonSize="btn-xs"
className="dropdown-80"
/> />
) )
} }
const currentOrg = user.roles.find( const currentRole = user.roles.find(
role => role.organizationName === organizationName role => role.organizationName === organizationName
) )
return ( return (
<span className="chronograf-user--role"> <span className="chronograf-user--role">
{currentOrg.name} <Dropdown
items={USER_ROLES.map(r => ({
...r,
text: r.name,
}))}
selected={currentRole.name}
onChoose={this.handleChangeUserRole(user, currentRole)}
buttonColor="btn-primary"
buttonSize="btn-xs"
className="dropdown-80"
/>
</span> </span>
) )
} }

View File

@ -1,10 +1,12 @@
export const NO_ROLE = 'No Role'
export const DUMMY_USERS = [ export const DUMMY_USERS = [
{ {
name: 'thealexpaxton@gmail.com', name: 'thealexpaxton@gmail.com',
provider: 'GitHub', provider: 'GitHub',
scheme: 'oAuth2', scheme: 'oAuth2',
roles: [ roles: [
{organizationName: 'All Users', organizationID: 666, name: 'none'}, {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Green Team', organizationID: 1234, name: 'admin'}, {organizationName: 'Green Team', organizationID: 1234, name: 'admin'},
{organizationName: 'Blue Team', organizationID: 1235, name: 'editor'}, {organizationName: 'Blue Team', organizationID: 1235, name: 'editor'},
], ],
@ -14,7 +16,7 @@ export const DUMMY_USERS = [
provider: 'GitHub', provider: 'GitHub',
scheme: 'oAuth2', scheme: 'oAuth2',
roles: [ roles: [
{organizationName: 'All Users', organizationID: 666, name: 'none'}, {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Green Team', organizationID: 1234, name: 'viewer'}, {organizationName: 'Green Team', organizationID: 1234, name: 'viewer'},
{organizationName: 'Red Team', organizationID: 1236, name: 'editor'}, {organizationName: 'Red Team', organizationID: 1236, name: 'editor'},
], ],
@ -24,7 +26,7 @@ export const DUMMY_USERS = [
provider: 'Heroku', provider: 'Heroku',
scheme: 'LDAP', scheme: 'LDAP',
roles: [ roles: [
{organizationName: 'All Users', organizationID: 666, name: 'none'}, {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Green Team', organizationID: 1234, name: 'editor'}, {organizationName: 'Green Team', organizationID: 1234, name: 'editor'},
], ],
}, },
@ -33,7 +35,7 @@ export const DUMMY_USERS = [
provider: 'GitHub', provider: 'GitHub',
scheme: 'oAuth2', scheme: 'oAuth2',
roles: [ roles: [
{organizationName: 'All Users', organizationID: 666, name: 'none'}, {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Blue Team', organizationID: 1235, name: 'editor'}, {organizationName: 'Blue Team', organizationID: 1235, name: 'editor'},
], ],
}, },
@ -42,7 +44,7 @@ export const DUMMY_USERS = [
provider: 'Heroku', provider: 'Heroku',
scheme: 'oAuth2', scheme: 'oAuth2',
roles: [ roles: [
{organizationName: 'All Users', organizationID: 666, name: 'none'}, {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Red Team', organizationID: 1236, name: 'viewer'}, {organizationName: 'Red Team', organizationID: 1236, name: 'viewer'},
{organizationName: 'Blue Team', organizationID: 1235, name: 'viewer'}, {organizationName: 'Blue Team', organizationID: 1235, name: 'viewer'},
], ],
@ -52,7 +54,7 @@ export const DUMMY_USERS = [
provider: 'GitHub', provider: 'GitHub',
scheme: 'oAuth2', scheme: 'oAuth2',
roles: [ roles: [
{organizationName: 'All Users', organizationID: 666, name: 'none'}, {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Green Team', organizationID: 1234, name: 'viewer'}, {organizationName: 'Green Team', organizationID: 1234, name: 'viewer'},
{organizationName: 'Blue Team', organizationID: 1235, name: 'viewer'}, {organizationName: 'Blue Team', organizationID: 1235, name: 'viewer'},
{organizationName: 'Red Team', organizationID: 1236, name: 'viewer'}, {organizationName: 'Red Team', organizationID: 1236, name: 'viewer'},
@ -63,7 +65,7 @@ export const DUMMY_USERS = [
provider: 'Generic', provider: 'Generic',
scheme: 'LDAP', scheme: 'LDAP',
roles: [ roles: [
{organizationName: 'All Users', organizationID: 666, name: 'none'}, {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Red Team', organizationID: 1236, name: 'editor'}, {organizationName: 'Red Team', organizationID: 1236, name: 'editor'},
], ],
}, },
@ -71,26 +73,32 @@ export const DUMMY_USERS = [
name: 'lost.in.translation@gmail.com', name: 'lost.in.translation@gmail.com',
provider: 'Generic', provider: 'Generic',
scheme: 'LDAP', scheme: 'LDAP',
roles: [{organizationName: 'All Users', organizationID: 666, name: 'none'}], roles: [
{organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
],
}, },
{ {
name: 'wandering.soul@gmail.com', name: 'wandering.soul@gmail.com',
provider: 'Heroku', provider: 'Heroku',
scheme: 'LDAP', scheme: 'LDAP',
roles: [{organizationName: 'All Users', organizationID: 666, name: 'none'}], roles: [
{organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
],
}, },
{ {
name: 'disembodied@gmail.com', name: 'disembodied@gmail.com',
provider: 'GitHub', provider: 'GitHub',
scheme: 'oAuth2', scheme: 'oAuth2',
roles: [{organizationName: 'All Users', organizationID: 666, name: 'none'}], roles: [
{organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
],
}, },
{ {
name: 'bob.builder@gmail.com', name: 'bob.builder@gmail.com',
provider: 'Heroku', provider: 'Heroku',
scheme: 'LDAP', scheme: 'LDAP',
roles: [ roles: [
{organizationName: 'All Users', organizationID: 666, name: 'none'}, {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Red Team', organizationID: 1236, name: 'editor'}, {organizationName: 'Red Team', organizationID: 1236, name: 'editor'},
], ],
}, },
@ -99,7 +107,7 @@ export const DUMMY_USERS = [
provider: 'GitHub', provider: 'GitHub',
scheme: 'oAuth2', scheme: 'oAuth2',
roles: [ roles: [
{organizationName: 'All Users', organizationID: 666, name: 'none'}, {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Blue Team', organizationID: 1234, name: 'admin'}, {organizationName: 'Blue Team', organizationID: 1234, name: 'admin'},
], ],
}, },
@ -108,18 +116,30 @@ export const DUMMY_USERS = [
provider: 'GitHub', provider: 'GitHub',
scheme: 'oAuth2', scheme: 'oAuth2',
superadmin: true, superadmin: true,
roles: [{organizationName: 'All Users', organizationID: 666, name: 'none'}], roles: [
{organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
],
},
{
name: 'ohnooeezzz@gmail.com',
provider: 'GitHub',
scheme: 'oAuth2',
superadmin: true,
roles: [
{organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Blue Team', organizationID: 1234, name: NO_ROLE},
],
}, },
] ]
export const USER_ROLES = [ export const USER_ROLES = [
{name: 'None'}, {name: NO_ROLE},
{name: 'Viewer'}, {name: 'viewer'},
{name: 'Editor'}, {name: 'editor'},
{name: 'Admin'}, {name: 'admin'},
] ]
export const DEFAULT_ORG = 'All Users' export const DEFAULT_ORG = 'All Users'
export const NO_ORG = 'None' export const NO_ORG = 'No Org'
export const DUMMY_ORGS = [ export const DUMMY_ORGS = [
{name: DEFAULT_ORG}, {name: DEFAULT_ORG},