diff --git a/ui/src/admin/components/chronograf/UsersTable.js b/ui/src/admin/components/chronograf/UsersTable.js
index ccb1f3f1d..702c2115b 100644
--- a/ui/src/admin/components/chronograf/UsersTable.js
+++ b/ui/src/admin/components/chronograf/UsersTable.js
@@ -4,7 +4,13 @@ import _ from 'lodash'
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'
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)
if (user.roles.length === 1) {
return (
-
- {NO_ORG}
-
+ {
+ 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 => {
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) {
- return No Role
+ return N/A
}
if (organizationName === DEFAULT_ORG) {
@@ -87,17 +103,28 @@ class ChronografUsersTable extends Component {
selected={role.name}
onChoose={this.handleChangeUserRole(user, role)}
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
)
return (
- {currentOrg.name}
+ ({
+ ...r,
+ text: r.name,
+ }))}
+ selected={currentRole.name}
+ onChoose={this.handleChangeUserRole(user, currentRole)}
+ buttonColor="btn-primary"
+ buttonSize="btn-xs"
+ className="dropdown-80"
+ />
)
}
diff --git a/ui/src/admin/constants/dummyUsers.js b/ui/src/admin/constants/dummyUsers.js
index 621639fdf..cda7435dd 100644
--- a/ui/src/admin/constants/dummyUsers.js
+++ b/ui/src/admin/constants/dummyUsers.js
@@ -1,10 +1,12 @@
+export const NO_ROLE = 'No Role'
+
export const DUMMY_USERS = [
{
name: 'thealexpaxton@gmail.com',
provider: 'GitHub',
scheme: 'oAuth2',
roles: [
- {organizationName: 'All Users', organizationID: 666, name: 'none'},
+ {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Green Team', organizationID: 1234, name: 'admin'},
{organizationName: 'Blue Team', organizationID: 1235, name: 'editor'},
],
@@ -14,7 +16,7 @@ export const DUMMY_USERS = [
provider: 'GitHub',
scheme: 'oAuth2',
roles: [
- {organizationName: 'All Users', organizationID: 666, name: 'none'},
+ {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Green Team', organizationID: 1234, name: 'viewer'},
{organizationName: 'Red Team', organizationID: 1236, name: 'editor'},
],
@@ -24,7 +26,7 @@ export const DUMMY_USERS = [
provider: 'Heroku',
scheme: 'LDAP',
roles: [
- {organizationName: 'All Users', organizationID: 666, name: 'none'},
+ {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Green Team', organizationID: 1234, name: 'editor'},
],
},
@@ -33,7 +35,7 @@ export const DUMMY_USERS = [
provider: 'GitHub',
scheme: 'oAuth2',
roles: [
- {organizationName: 'All Users', organizationID: 666, name: 'none'},
+ {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Blue Team', organizationID: 1235, name: 'editor'},
],
},
@@ -42,7 +44,7 @@ export const DUMMY_USERS = [
provider: 'Heroku',
scheme: 'oAuth2',
roles: [
- {organizationName: 'All Users', organizationID: 666, name: 'none'},
+ {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Red Team', organizationID: 1236, name: 'viewer'},
{organizationName: 'Blue Team', organizationID: 1235, name: 'viewer'},
],
@@ -52,7 +54,7 @@ export const DUMMY_USERS = [
provider: 'GitHub',
scheme: 'oAuth2',
roles: [
- {organizationName: 'All Users', organizationID: 666, name: 'none'},
+ {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Green Team', organizationID: 1234, name: 'viewer'},
{organizationName: 'Blue Team', organizationID: 1235, name: 'viewer'},
{organizationName: 'Red Team', organizationID: 1236, name: 'viewer'},
@@ -63,7 +65,7 @@ export const DUMMY_USERS = [
provider: 'Generic',
scheme: 'LDAP',
roles: [
- {organizationName: 'All Users', organizationID: 666, name: 'none'},
+ {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Red Team', organizationID: 1236, name: 'editor'},
],
},
@@ -71,26 +73,32 @@ export const DUMMY_USERS = [
name: 'lost.in.translation@gmail.com',
provider: 'Generic',
scheme: 'LDAP',
- roles: [{organizationName: 'All Users', organizationID: 666, name: 'none'}],
+ roles: [
+ {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
+ ],
},
{
name: 'wandering.soul@gmail.com',
provider: 'Heroku',
scheme: 'LDAP',
- roles: [{organizationName: 'All Users', organizationID: 666, name: 'none'}],
+ roles: [
+ {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
+ ],
},
{
name: 'disembodied@gmail.com',
provider: 'GitHub',
scheme: 'oAuth2',
- roles: [{organizationName: 'All Users', organizationID: 666, name: 'none'}],
+ roles: [
+ {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
+ ],
},
{
name: 'bob.builder@gmail.com',
provider: 'Heroku',
scheme: 'LDAP',
roles: [
- {organizationName: 'All Users', organizationID: 666, name: 'none'},
+ {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Red Team', organizationID: 1236, name: 'editor'},
],
},
@@ -99,7 +107,7 @@ export const DUMMY_USERS = [
provider: 'GitHub',
scheme: 'oAuth2',
roles: [
- {organizationName: 'All Users', organizationID: 666, name: 'none'},
+ {organizationName: 'All Users', organizationID: 666, name: NO_ROLE},
{organizationName: 'Blue Team', organizationID: 1234, name: 'admin'},
],
},
@@ -108,18 +116,30 @@ export const DUMMY_USERS = [
provider: 'GitHub',
scheme: 'oAuth2',
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 = [
- {name: 'None'},
- {name: 'Viewer'},
- {name: 'Editor'},
- {name: 'Admin'},
+ {name: NO_ROLE},
+ {name: 'viewer'},
+ {name: 'editor'},
+ {name: 'admin'},
]
export const DEFAULT_ORG = 'All Users'
-export const NO_ORG = 'None'
+export const NO_ORG = 'No Org'
export const DUMMY_ORGS = [
{name: DEFAULT_ORG},