diff options
author | George Goldberg <george@gberg.me> | 2017-07-04 08:00:17 +0100 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2017-07-04 00:00:17 -0700 |
commit | 0a3bb8fdb10f2ce72e5e975a35fc7d22637265f9 (patch) | |
tree | 3a3c7dfed0830d9e3a945f862c60d99f15074ca1 /webapp/components/admin_console/ldap_test_button.jsx | |
parent | f54aee1ef5466fdf11803cd75be3b7267e68540f (diff) | |
download | chat-0a3bb8fdb10f2ce72e5e975a35fc7d22637265f9.tar.gz chat-0a3bb8fdb10f2ce72e5e975a35fc7d22637265f9.tar.bz2 chat-0a3bb8fdb10f2ce72e5e975a35fc7d22637265f9.zip |
Refactor system console buttons into RequestButton component. (#6808)
Since I was going to make yet another button for the ElasticSearch test
config button, I refactored all of them to use a single common component
and tidied that component up and gave it some unit tests.
Diffstat (limited to 'webapp/components/admin_console/ldap_test_button.jsx')
-rw-r--r-- | webapp/components/admin_console/ldap_test_button.jsx | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/webapp/components/admin_console/ldap_test_button.jsx b/webapp/components/admin_console/ldap_test_button.jsx deleted file mode 100644 index e785d0f78..000000000 --- a/webapp/components/admin_console/ldap_test_button.jsx +++ /dev/null @@ -1,146 +0,0 @@ -import PropTypes from 'prop-types'; - -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -import React from 'react'; - -import * as Utils from 'utils/utils.jsx'; - -import {FormattedMessage, FormattedHTMLMessage} from 'react-intl'; - -import {ldapTest} from 'actions/admin_actions.jsx'; - -export default class LdapTestButton extends React.Component { - static get propTypes() { - return { - disabled: PropTypes.bool, - submitFunction: PropTypes.func, - saveNeeded: PropTypes.bool - }; - } - constructor(props) { - super(props); - - this.handleLdapTest = this.handleLdapTest.bind(this); - - this.state = { - buisy: false, - fail: null, - success: false - }; - } - - handleLdapTest(e) { - e.preventDefault(); - - this.setState({ - buisy: true, - fail: null, - success: false - }); - - const doRequest = () => { //eslint-disable-line func-style - ldapTest( - () => { - this.setState({ - buisy: false, - success: true - }); - }, - (err) => { - this.setState({ - buisy: false, - fail: err.message - }); - } - ); - }; - - // If we need to run the save function then run it with our request function as callback - if (this.props.saveNeeded) { - this.props.submitFunction(doRequest); - } else { - doRequest(); - } - } - - render() { - let message = null; - if (this.state.fail) { - message = ( - <div> - <div className='alert alert-warning'> - <i className='fa fa-warning'/> - <FormattedMessage - id='admin.ldap.testFailure' - defaultMessage='AD/LDAP Test Failure: {error}' - values={{ - error: this.state.fail - }} - /> - </div> - </div> - ); - } else if (this.state.success) { - message = ( - <div> - <div className='alert alert-success'> - <i className='fa fa-success'/> - <FormattedMessage - id='admin.ldap.testSuccess' - defaultMessage='AD/LDAP Test Successful' - values={{ - error: this.state.fail - }} - /> - </div> - </div> - ); - } - - const helpText = ( - <FormattedHTMLMessage - id='admin.ldap.testHelpText' - defaultMessage='Tests if the Mattermost server can connect to the AD/LDAP server specified. See log file for more detailed error messages.' - /> - ); - - let contents = null; - if (this.state.loading) { - contents = ( - <span> - <span className='fa fa-refresh icon--rotate'/> - {Utils.localizeMessage('admin.reload.loading', ' Loading...')} - </span> - ); - } else { - contents = ( - <FormattedMessage - id='admin.ldap.ldap_test_button' - defaultMessage='AD/LDAP Test' - /> - ); - } - - return ( - <div className='form-group reload-config'> - <div className='col-sm-offset-4 col-sm-8'> - <div> - <button - className='btn btn-default' - onClick={this.handleLdapTest} - disabled={this.props.disabled} - > - {contents} - </button> - {message} - </div> - <div className='help-text'> - {helpText} - </div> - </div> - </div> - ); - } -} |