From d8c4705bba161342bb7d2b4dcd8954203d972614 Mon Sep 17 00:00:00 2001 From: Tatsuya Niwa Date: Tue, 26 Jan 2016 23:05:26 +0900 Subject: delete DemoteOwnRoleModal --- .../admin_console/demote_own_role_modal.jsx | 88 ---------------------- web/react/components/admin_console/user_item.jsx | 57 ++++++++------ 2 files changed, 36 insertions(+), 109 deletions(-) delete mode 100644 web/react/components/admin_console/demote_own_role_modal.jsx (limited to 'web') diff --git a/web/react/components/admin_console/demote_own_role_modal.jsx b/web/react/components/admin_console/demote_own_role_modal.jsx deleted file mode 100644 index 58646186d..000000000 --- a/web/react/components/admin_console/demote_own_role_modal.jsx +++ /dev/null @@ -1,88 +0,0 @@ -// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import * as Client from '../../utils/client.jsx'; -const Modal = ReactBootstrap.Modal; - -export default class DemoteOwnRoleModal extends React.Component { - constructor(props) { - super(props); - - this.doDemote = this.doDemote.bind(this); - this.doCancel = this.doCancel.bind(this); - - this.state = { - serverError: null - }; - } - - doDemote() { - const data = { - user_id: this.props.user.id, - new_roles: this.props.role - }; - - Client.updateRoles(data, - () => { - this.setState({serverError: null}); - this.props.onModalSubmit(); - }, - (err) => { - this.setState({serverError: err.message}); - } - ); - } - - doCancel() { - this.setState({serverError: null}); - this.props.onModalDismissed(); - } - - render() { - let serverError = null; - - if (this.state.serverError) { - serverError =
; - } - - return ( - - -

{'Confirm demotion from System Admin role'}

-
- - If you demote yourself from the System Admin role and there is not another user with System Admin privileges, you'll need to re-assign a System Admin by accessing the Mattermost server through a terminal and running the following command.

./platform -assign_role -team_name="yourteam" -email="name@yourcompany.com" -role="system_admin" - {serverError} -
- - - - -
- ); - } -} - -DemoteOwnRoleModal.propTypes = { - user: React.PropTypes.object, - role: React.PropTypes.string, - show: React.PropTypes.bool.isRequired, - onModalSubmit: React.PropTypes.func, - onModalDismissed: React.PropTypes.func -}; diff --git a/web/react/components/admin_console/user_item.jsx b/web/react/components/admin_console/user_item.jsx index 9220b2cc3..41bf0c99f 100644 --- a/web/react/components/admin_console/user_item.jsx +++ b/web/react/components/admin_console/user_item.jsx @@ -4,7 +4,7 @@ import * as Client from '../../utils/client.jsx'; import * as Utils from '../../utils/utils.jsx'; import UserStore from '../../stores/user_store.jsx'; -import DemoteOwnRoleModal from './demote_own_role_modal.jsx'; +import ConfirmModal from '../confirm_modal.jsx'; import {FormattedMessage} from 'mm-intl'; @@ -18,9 +18,9 @@ export default class UserItem extends React.Component { this.handleMakeAdmin = this.handleMakeAdmin.bind(this); this.handleMakeSystemAdmin = this.handleMakeSystemAdmin.bind(this); this.handleResetPassword = this.handleResetPassword.bind(this); - this.doDemote = this.doDemote.bind(this); - this.doDemoteSubmit = this.doDemoteSubmit.bind(this); - this.doDemoteDismiss = this.doDemoteDismiss.bind(this); + this.handleDemote = this.handleDemote.bind(this); + this.handleDemoteSubmit = this.handleDemoteSubmit.bind(this); + this.handleDemoteCancel = this.handleDemoteCancel.bind(this); this.state = { serverError: null, @@ -34,7 +34,7 @@ export default class UserItem extends React.Component { e.preventDefault(); var me = UserStore.getCurrentUser(); if (this.props.user.id === me.id) { - this.doDemote(this.props.user, ''); + this.handleDemote(this.props.user, ''); } else { const data = { user_id: this.props.user.id, @@ -80,7 +80,7 @@ export default class UserItem extends React.Component { e.preventDefault(); var me = UserStore.getCurrentUser(); if (this.props.user.id === me.id) { - this.doDemote(this.props.user, 'admin'); + this.handleDemote(this.props.user, 'admin'); } else { const data = { user_id: this.props.user.id, @@ -120,7 +120,7 @@ export default class UserItem extends React.Component { this.props.doPasswordReset(this.props.user); } - doDemote(user, role) { + handleDemote(user, role) { this.setState({ serverError: this.state.serverError, showDemoteModal: true, @@ -129,22 +129,36 @@ export default class UserItem extends React.Component { }); } - doDemoteDismiss() { + handleDemoteCancel() { this.setState({ - serverError: this.state.serverError, + serverError: null, showDemoteModal: false, user: null, role: null }); } - doDemoteSubmit() { - this.setState({ - serverError: this.state.serverError, - showDemoteModal: false, - user: null, - role: null - }); + handleDemoteSubmit() { + const data = { + user_id: this.props.user.id, + new_roles: this.props.role + }; + + Client.updateRoles(data, + () => { + this.setState({ + serverError: null, + showDemoteModal: false, + user: null, + role: null + }); + }, + (err) => { + this.setState({ + serverError: err.message + }); + } + ); } render() { @@ -298,12 +312,13 @@ export default class UserItem extends React.Component { let makeDemoteModal = null; if (this.props.user.id === me.id) { makeDemoteModal = ( - ,
,`./platform -assign_role -team_name="yourteam" -email="name@yourcompany.com" -role="system_admin"`,serverError]} + confirm_button='Confirm Demotion' + onConfirm={this.handleDemoteSubmit} + onCancel={this.handleDemoteCancel} /> ); } -- cgit v1.2.3-1-g7c22