mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
* PLT-2713 Added ability for admins to list users not in any team * Updated style of unit test * Split SearchableUserList to give better control over its properties * Added users without any teams to the user store * Added ManageUsers page * Renamed ManageUsers to SystemUsers * Added ability to search by user id in SystemUsers page * Added SystemUsersDropdown * Removed unnecessary injectIntl * Created TeamUtils * Reduced scope of system console heading CSS * Added team filter to TeamAnalytics page * Updated admin console sidebar * Removed unnecessary TODO * Removed unused reference to deleted modal * Fixed system console sidebar not scrolling on first load * Fixed TeamAnalytics page not rendering on first load * Fixed chart.js throwing an error when switching between teams * Changed TeamAnalytics header to show the team's display name * Fixed appearance of TeamAnalytics and SystemUsers on small screen widths * Fixed placement of 'No users found' message * Fixed teams not appearing in SystemUsers on first load * Updated user count text for SystemUsers * Changed search by id fallback to trigger less often * Fixed SystemUsers list items not updating when searching * Fixed localization strings for SystemUsers page
88 lines
3.3 KiB
JavaScript
88 lines
3.3 KiB
JavaScript
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
import React from 'react';
|
|
|
|
import * as Utils from 'utils/utils.jsx';
|
|
|
|
import AdminSettings from './admin_settings.jsx';
|
|
import BooleanSetting from './boolean_setting.jsx';
|
|
import {FormattedMessage} from 'react-intl';
|
|
import SettingsGroup from './settings_group.jsx';
|
|
import TextSetting from './text_setting.jsx';
|
|
|
|
export default class ConnectionSettings extends AdminSettings {
|
|
constructor(props) {
|
|
super(props);
|
|
|
|
this.getConfigFromState = this.getConfigFromState.bind(this);
|
|
|
|
this.renderSettings = this.renderSettings.bind(this);
|
|
}
|
|
|
|
getConfigFromState(config) {
|
|
config.ServiceSettings.AllowCorsFrom = this.state.allowCorsFrom;
|
|
config.ServiceSettings.EnableInsecureOutgoingConnections = this.state.enableInsecureOutgoingConnections;
|
|
|
|
return config;
|
|
}
|
|
|
|
getStateFromConfig(config) {
|
|
return {
|
|
allowCorsFrom: config.ServiceSettings.AllowCorsFrom,
|
|
enableInsecureOutgoingConnections: config.ServiceSettings.EnableInsecureOutgoingConnections
|
|
};
|
|
}
|
|
|
|
renderTitle() {
|
|
return (
|
|
<FormattedMessage
|
|
id='admin.security.connection'
|
|
defaultMessage='Connections'
|
|
/>
|
|
);
|
|
}
|
|
|
|
renderSettings() {
|
|
return (
|
|
<SettingsGroup>
|
|
<TextSetting
|
|
id='allowCorsFrom'
|
|
label={
|
|
<FormattedMessage
|
|
id='admin.service.corsTitle'
|
|
defaultMessage='Enable cross-origin requests from:'
|
|
/>
|
|
}
|
|
placeholder={Utils.localizeMessage('admin.service.corsEx', 'http://example.com')}
|
|
helpText={
|
|
<FormattedMessage
|
|
id='admin.service.corsDescription'
|
|
defaultMessage='Enable HTTP Cross origin request from a specific domain. Use "*" if you want to allow CORS from any domain or leave it blank to disable it.'
|
|
/>
|
|
}
|
|
value={this.state.allowCorsFrom}
|
|
onChange={this.handleChange}
|
|
/>
|
|
<BooleanSetting
|
|
id='enableInsecureOutgoingConnections'
|
|
label={
|
|
<FormattedMessage
|
|
id='admin.service.insecureTlsTitle'
|
|
defaultMessage='Enable Insecure Outgoing Connections: '
|
|
/>
|
|
}
|
|
helpText={
|
|
<FormattedMessage
|
|
id='admin.service.insecureTlsDesc'
|
|
defaultMessage='When true, any outgoing HTTPS requests will accept unverified, self-signed certificates. For example, outgoing webhooks to a server with a self-signed TLS certificate, using any domain, will be allowed. Note that this makes these connections susceptible to man-in-the-middle attacks.'
|
|
/>
|
|
}
|
|
value={this.state.enableInsecureOutgoingConnections}
|
|
onChange={this.handleChange}
|
|
/>
|
|
</SettingsGroup>
|
|
);
|
|
}
|
|
}
|