// 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'); window.location.reload(true); }, (serverError) => { this.setState({serverError}); } ); } handleRemove(e) { e.preventDefault(); $('#remove-button').button('loading'); Client.removeLicenseFile( () => { $('#remove-button').button('reset'); window.location.reload(true); }, (serverError) => { $('#remove-button').button('reset'); this.setState({serverError}); } ); } 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}
{'Company or organization name: ' + global.window.mm_license.Company}
{'Number of users: ' + global.window.mm_license.Users}
{`License issued: ${Utils.displayDate(parseInt(global.window.mm_license.IssuedAt, 10))} ${Utils.displayTime(parseInt(global.window.mm_license.IssuedAt, 10), true)}`}
{'Start date of license: ' + Utils.displayDate(parseInt(global.window.mm_license.StartsAt, 10))}
{'Expiry date of license: ' + Utils.displayDate(parseInt(global.window.mm_license.ExpiresAt, 10))}
{'LDAP: ' + global.window.mm_license.LDAP}
); licenseKey = (


{'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.'}

); } else { edition = 'Mattermost Team Edition. Designed for teams from 5 to 50 users.'; licenseType = (

{'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 = (
{serverError}

{'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.'}

); } return (

{'Edition and License'}

{edition}
{licenseType}
{licenseKey}
); } }