// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import * as Utils from '../../utils/utils.jsx'; import * as Client from '../../utils/client.jsx'; export default class LicenseSettings extends React.Component { constructor(props) { super(props); this.handleChange = this.handleChange.bind(this); this.handleSubmit = this.handleSubmit.bind(this); this.handleRemove = this.handleRemove.bind(this); this.state = { fileSelected: false, serverError: null }; } handleChange() { const element = $(ReactDOM.findDOMNode(this.refs.fileInput)); if (element.prop('files').length > 0) { this.setState({fileSelected: true}); } } handleSubmit(e) { e.preventDefault(); const element = $(ReactDOM.findDOMNode(this.refs.fileInput)); if (element.prop('files').length === 0) { return; } const file = element.prop('files')[0]; $('#upload-button').button('loading'); const formData = new FormData(); formData.append('license', file, file.name); Client.uploadLicenseFile(formData, () => { Utils.clearFileInput(element[0]); $('#upload-button').button('reset'); this.setState({serverError: null}); window.location.reload(true); }, (error) => { Utils.clearFileInput(element[0]); $('#upload-button').button('reset'); this.setState({serverError: error.message}); } ); } handleRemove(e) { e.preventDefault(); $('#remove-button').button('loading'); Client.removeLicenseFile( () => { $('#remove-button').button('reset'); this.setState({serverError: null}); window.location.reload(true); }, (error) => { $('#remove-button').button('reset'); this.setState({serverError: error.message}); } ); } render() { var serverError = ''; if (this.state.serverError) { serverError =
; } var btnClass = 'btn'; if (this.state.fileSelected) { btnClass = 'btn btn-primary'; } let edition; let licenseType; let licenseKey; if (global.window.mm_license.IsLicensed === 'true') { edition = 'Mattermost Enterprise Edition. Designed for enterprise-scale communication.'; licenseType = ({'This compiled release of Mattermost platform is provided under a '} {'commercial license'} {' from Mattermost, Inc. based on your subscription level and is subject to the '} {'Terms of Service.'}
{'Your subscription details are as follows:'}
{'Name: ' + global.window.mm_license.Name}{'If you’re migrating servers you may need to remove your license key from this server in order to install it on a new server. To start, '} {'disable all Enterprise Edition features on this server'} {'. This will enable the ability to remove the license key and downgrade this server from Enterprise Edition to Team Edition.'}
{'This compiled release of Mattermost platform is offered under an MIT license.'}
{'See MIT-COMPILED-LICENSE.txt in your root install directory for details. See NOTICES.txt for information about open source software used in this system.'}
); licenseKey = ({'Upload a license key for Mattermost Enterprise Edition to upgrade this server. '} {'Visit us online'} {' to learn more about the benefits of Enterprise Edition or to purchase a key.'}