diff options
Diffstat (limited to 'web/react/components/admin_console')
4 files changed, 100 insertions, 31 deletions
diff --git a/web/react/components/admin_console/admin_sidebar.jsx b/web/react/components/admin_console/admin_sidebar.jsx index 375a6a8e9..cebb3ff20 100644 --- a/web/react/components/admin_console/admin_sidebar.jsx +++ b/web/react/components/admin_console/admin_sidebar.jsx @@ -195,15 +195,6 @@ export default class AdminSidebar extends React.Component { <li> <a href='#' - className={this.isSelected('logs')} - onClick={this.handleClick.bind(this, 'logs', null)} - > - {'Logs'} - </a> - </li> - <li> - <a - href='#' className={this.isSelected('rate_settings')} onClick={this.handleClick.bind(this, 'rate_settings', null)} > @@ -245,6 +236,21 @@ export default class AdminSidebar extends React.Component { <li> {teams} </li> + <li> + <h4> + <span className='icon fa fa-gear'></span> + <span>{'OTHER'}</span> + </h4> + </li> + <li> + <a + href='#' + className={this.isSelected('logs')} + onClick={this.handleClick.bind(this, 'logs', null)} + > + {'Logs'} + </a> + </li> </ul> </li> </ul> diff --git a/web/react/components/admin_console/reset_password_modal.jsx b/web/react/components/admin_console/reset_password_modal.jsx index 4aa86dfcb..0b83edb17 100644 --- a/web/react/components/admin_console/reset_password_modal.jsx +++ b/web/react/components/admin_console/reset_password_modal.jsx @@ -21,13 +21,11 @@ export default class ResetPasswordModal extends React.Component { var password = React.findDOMNode(this.refs.password).value; if (!password || password.length < 5) { - this.state.serverError = 'Please enter at least 5 characters.'; - this.setState(this.state); + this.setState({serverError: 'Please enter at least 5 characters.'}); return; } - this.state.serverError = null; - this.setState(this.state); + this.setState({serverError: null}); var data = {}; data.new_password = password; @@ -39,15 +37,13 @@ export default class ResetPasswordModal extends React.Component { this.props.onModalSubmit(React.findDOMNode(this.refs.password).value); }, (err) => { - this.state.serverError = err.message; - this.setState(this.state); + this.setState({serverError: err.message}); } ); } doCancel() { - this.state.serverError = null; - this.setState(this.state); + this.setState({serverError: null}); this.props.onModalDismissed(); } diff --git a/web/react/components/admin_console/team_users.jsx b/web/react/components/admin_console/team_users.jsx index 088a44932..0a971ff15 100644 --- a/web/react/components/admin_console/team_users.jsx +++ b/web/react/components/admin_console/team_users.jsx @@ -33,6 +33,14 @@ export default class UserList extends React.Component { this.getTeamProfiles(this.props.team.id); } + // this.setState({ + // teamId: this.state.teamId, + // users: this.state.users, + // serverError: this.state.serverError, + // showPasswordModal: this.state.showPasswordModal, + // user: this.state.user + // }); + getTeamProfiles(teamId) { Client.getProfilesForTeam( teamId, @@ -56,33 +64,56 @@ export default class UserList extends React.Component { return 0; }); - this.state.users = memberList; - this.setState(this.state); + this.setState({ + teamId: this.state.teamId, + users: memberList, + serverError: this.state.serverError, + showPasswordModal: this.state.showPasswordModal, + user: this.state.user + }); }, (err) => { - this.state.serverError = err.message; - this.state.users = null; - this.setState(this.state); + this.setState({ + teamId: this.state.teamId, + users: null, + serverError: err.message, + showPasswordModal: this.state.showPasswordModal, + user: this.state.user + }); } ); } doPasswordReset(user) { - this.state.showPasswordModal = true; - this.state.user = user; - this.setState(this.state); + this.setState({ + teamId: this.state.teamId, + users: this.state.users, + serverError: this.state.serverError, + showPasswordModal: true, + user + }); } doPasswordResetDismiss() { this.state.showPasswordModal = false; this.state.user = null; - this.setState(this.state); + this.setState({ + teamId: this.state.teamId, + users: this.state.users, + serverError: this.state.serverError, + showPasswordModal: false, + user: null + }); } doPasswordResetSubmit() { - this.state.showPasswordModal = false; - this.state.user = null; - this.setState(this.state); + this.setState({ + teamId: this.state.teamId, + users: this.state.users, + serverError: this.state.serverError, + showPasswordModal: false, + user: null + }); } componentWillReceiveProps(newProps) { diff --git a/web/react/components/admin_console/user_item.jsx b/web/react/components/admin_console/user_item.jsx index ff204e1d9..32812e875 100644 --- a/web/react/components/admin_console/user_item.jsx +++ b/web/react/components/admin_console/user_item.jsx @@ -12,6 +12,7 @@ export default class UserItem extends React.Component { this.handleMakeActive = this.handleMakeActive.bind(this); this.handleMakeNotActive = this.handleMakeNotActive.bind(this); this.handleMakeAdmin = this.handleMakeAdmin.bind(this); + this.handleMakeSystemAdmin = this.handleMakeSystemAdmin.bind(this); this.handleResetPassword = this.handleResetPassword.bind(this); this.state = {}; @@ -75,6 +76,23 @@ export default class UserItem extends React.Component { ); } + handleMakeSystemAdmin(e) { + e.preventDefault(); + const data = { + user_id: this.props.user.id, + new_roles: 'system_admin' + }; + + Client.updateRoles(data, + () => { + this.props.refreshProfiles(); + }, + (err) => { + this.setState({serverError: err.message}); + } + ); + } + handleResetPassword(e) { e.preventDefault(); this.props.doPasswordReset(this.props.user); @@ -101,8 +119,9 @@ export default class UserItem extends React.Component { } const email = user.email; - let showMakeMember = (user.roles === 'admin') || user.roles === 'system_admin'; - let showMakeAdmin = (user.roles === '') || user.roles === 'system_admin'; + let showMakeMember = user.roles === 'admin' || user.roles === 'system_admin'; + let showMakeAdmin = user.roles === '' || user.roles === 'system_admin'; + let showMakeSystemAdmin = user.roles === '' || user.roles === 'admin'; let showMakeActive = false; let showMakeNotActive = user.roles !== 'system_admin'; @@ -111,10 +130,26 @@ export default class UserItem extends React.Component { currentRoles = 'Inactive'; showMakeMember = false; showMakeAdmin = false; + showMakeSystemAdmin = false; showMakeActive = true; showMakeNotActive = false; } + let makeSystemAdmin = null; + if (showMakeSystemAdmin) { + makeSystemAdmin = ( + <li role='presentation'> + <a + role='menuitem' + href='#' + onClick={this.handleMakeSystemAdmin} + > + {'Make System Admin'} + </a> + </li> + ); + } + let makeAdmin = null; if (showMakeAdmin) { makeAdmin = ( @@ -206,6 +241,7 @@ export default class UserItem extends React.Component { {makeMember} {makeActive} {makeNotActive} + {makeSystemAdmin} <li role='presentation'> <a role='menuitem' |