PLT-4853 adding purge cache button to the UI. (#4811)

* PLT_4853 adding purge cache button to the UI.

* Fixing loc stuff
Этот коммит содержится в:
Corey Hulen
2016-12-21 14:31:24 -08:00
коммит произвёл enahum
родитель 56dc863de1
Коммит 64a86bd32f
4 изменённых файлов: 127 добавлений и 0 удалений

Просмотреть файл

@@ -265,6 +265,15 @@ export default class Client {
end(this.handleResponse.bind(this, 'reloadConfig', success, error));
}
invalidateAllCaches(success, error) {
return request.
get(`${this.getAdminRoute()}/invalidate_all_caches`).
set(this.defaultHeaders).
type('application/json').
accept('application/json').
end(this.handleResponse.bind(this, 'invalidate_all_caches', success, error));
}
recycleDatabaseConnection(success, error) {
return request.
get(`${this.getAdminRoute()}/recycle_db_conn`).

Просмотреть файл

@@ -10,6 +10,7 @@ import {FormattedMessage, FormattedHTMLMessage} from 'react-intl';
import SettingsGroup from './settings_group.jsx';
import TextSetting from './text_setting.jsx';
import ReloadConfigButton from './reload_config.jsx';
import PurgeCachesButton from './purge_caches.jsx';
import WebserverModeDropdownSetting from './webserver_mode_dropdown_setting.jsx';
import {ConnectionSecurityDropdownSettingWebserver} from './connection_security_dropdown_setting.jsx';
import BooleanSetting from './boolean_setting.jsx';
@@ -252,6 +253,7 @@ export default class ConfigurationSettings extends AdminSettings {
disabled={false}
/>
<ReloadConfigButton/>
<PurgeCachesButton/>
</SettingsGroup>
);
}

Просмотреть файл

@@ -0,0 +1,112 @@
// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
import React from 'react';
import Client from 'client/web_client.jsx';
import {FormattedMessage} from 'react-intl';
export default class PurgeCachesButton extends React.Component {
constructor(props) {
super(props);
this.handlePurge = this.handlePurge.bind(this);
this.state = {
loading: false,
fail: null
};
}
handlePurge(e) {
e.preventDefault();
this.setState({
loading: true,
fail: null
});
Client.invalidateAllCaches(
() => {
this.setState({
loading: false
});
},
(err) => {
this.setState({
loading: false,
fail: err.message + ' - ' + err.detailed_error
});
}
);
}
render() {
if (global.window.mm_license.IsLicensed !== 'true') {
return <div/>;
}
let testMessage = null;
if (this.state.fail) {
testMessage = (
<div className='alert alert-warning'>
<i className='fa fa-warning'/>
<FormattedMessage
id='admin.purge.purgeFail'
defaultMessage='Purging unsuccessful: {error}'
values={{
error: this.state.fail
}}
/>
</div>
);
}
const helpText = (
<FormattedMessage
id='admin.purge.purgeDescription'
defaultMessage='This will purge all the in-memory caches for things like sessions, accounts, channels, etc. Deployments using High Availability will attempt to purge all the servers in the cluster. Purging the caches may adversly impact performance.'
/>
);
let contents = null;
if (this.state.loading) {
contents = (
<span>
<span className='fa fa-refresh icon--rotate'/>
<FormattedMessage
id='admin.purge.loading'
defaultMessage='Loading...'
/>
</span>
);
} else {
contents = (
<FormattedMessage
id='admin.purge.button'
defaultMessage='Purge All Caches'
/>
);
}
return (
<div className='form-group reload-config'>
<div className='col-sm-offset-4 col-sm-8'>
<div>
<button
className='btn btn-default'
onClick={this.handlePurge}
>
{contents}
</button>
{testMessage}
</div>
<div className='help-text'>
{helpText}
</div>
</div>
</div>
);
}
}

Просмотреть файл

@@ -573,6 +573,10 @@
"admin.reload.loading": " Loading...",
"admin.reload.reloadDescription": "Deployments using multiple databases can switch from one master database to another without restarting the Mattermost server by updating \"config.json\" to the new desired configuration and using the <b>Reload Configuration from Disk</b> feature to load the new settings while the server is running. The administrator should then use the <a href=\"../advanced/database\"><b>Database > Recycle Database Connections</b></a> feature to recycle the database connections based on the new settings.",
"admin.reload.reloadFail": "Reloading unsuccessful: {error}",
"admin.purge.button": "Purge All Caches",
"admin.purge.loading": " Loading...",
"admin.purge.purgeDescription": "This will purge all the in-memory caches for things like sessions, accounts, channels, etc. Deployments using High Availability will attempt to purge all the servers in the cluster. Purging the caches may adversly impact performance.",
"admin.purge.purgeFail": "Purging unsuccessful: {error}",
"admin.reset_password.close": "Close",
"admin.reset_password.newPassword": "New Password",
"admin.reset_password.select": "Select",