PLT-7: Refactoring frontend (chunk 2)
- System Console complete
Этот коммит содержится в:
@@ -4,7 +4,28 @@
|
||||
import * as Client from '../../utils/client.jsx';
|
||||
import * as AsyncClient from '../../utils/async_client.jsx';
|
||||
|
||||
export default class TeamSettings extends React.Component {
|
||||
import {injectIntl, intlShape, defineMessages, FormattedMessage} from 'mm-intl';
|
||||
|
||||
const holders = defineMessages({
|
||||
siteNameExample: {
|
||||
id: 'admin.team.siteNameExample',
|
||||
defaultMessage: 'Ex "Mattermost"'
|
||||
},
|
||||
maxUsersExample: {
|
||||
id: 'admin.team.maxUsersExample',
|
||||
defaultMessage: 'Ex "25"'
|
||||
},
|
||||
restrictExample: {
|
||||
id: 'admin.team.restrictExample',
|
||||
defaultMessage: 'Ex "corp.mattermost.com, mattermost.org"'
|
||||
},
|
||||
saving: {
|
||||
id: 'admin.team.saving',
|
||||
defaultMessage: 'Saving Config...'
|
||||
}
|
||||
});
|
||||
|
||||
class TeamSettings extends React.Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
@@ -62,6 +83,7 @@ export default class TeamSettings extends React.Component {
|
||||
}
|
||||
|
||||
render() {
|
||||
const {formatMessage} = this.props.intl;
|
||||
var serverError = '';
|
||||
if (this.state.serverError) {
|
||||
serverError = <div className='form-group has-error'><label className='control-label'>{this.state.serverError}</label></div>;
|
||||
@@ -75,7 +97,12 @@ export default class TeamSettings extends React.Component {
|
||||
return (
|
||||
<div className='wrapper--fixed'>
|
||||
|
||||
<h3>{'Team Settings'}</h3>
|
||||
<h3>
|
||||
<FormattedMessage
|
||||
id='admin.team.title'
|
||||
defaultMessage='Team Settings'
|
||||
/>
|
||||
</h3>
|
||||
<form
|
||||
className='form-horizontal'
|
||||
role='form'
|
||||
@@ -86,7 +113,10 @@ export default class TeamSettings extends React.Component {
|
||||
className='control-label col-sm-4'
|
||||
htmlFor='SiteName'
|
||||
>
|
||||
{'Site Name:'}
|
||||
<FormattedMessage
|
||||
id='admin.team.siteNameTitle'
|
||||
defaultMessage='Site Name:'
|
||||
/>
|
||||
</label>
|
||||
<div className='col-sm-8'>
|
||||
<input
|
||||
@@ -94,11 +124,16 @@ export default class TeamSettings extends React.Component {
|
||||
className='form-control'
|
||||
id='SiteName'
|
||||
ref='SiteName'
|
||||
placeholder='Ex "Mattermost"'
|
||||
placeholder={formatMessage(holders.siteNameExample)}
|
||||
defaultValue={this.props.config.TeamSettings.SiteName}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<p className='help-text'>{'Name of service shown in login screens and UI.'}</p>
|
||||
<p className='help-text'>
|
||||
<FormattedMessage
|
||||
id='admin.team.siteNameDescription'
|
||||
defaultMessage='Name of service shown in login screens and UI.'
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -107,7 +142,10 @@ export default class TeamSettings extends React.Component {
|
||||
className='control-label col-sm-4'
|
||||
htmlFor='MaxUsersPerTeam'
|
||||
>
|
||||
{'Max Users Per Team:'}
|
||||
<FormattedMessage
|
||||
id='admin.team.maxUsersTitle'
|
||||
defaultMessage='Max Users Per Team:'
|
||||
/>
|
||||
</label>
|
||||
<div className='col-sm-8'>
|
||||
<input
|
||||
@@ -115,11 +153,16 @@ export default class TeamSettings extends React.Component {
|
||||
className='form-control'
|
||||
id='MaxUsersPerTeam'
|
||||
ref='MaxUsersPerTeam'
|
||||
placeholder='Ex "25"'
|
||||
placeholder={formatMessage(holders.maxUsersExample)}
|
||||
defaultValue={this.props.config.TeamSettings.MaxUsersPerTeam}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<p className='help-text'>{'Maximum total number of users per team, including both active and inactive users.'}</p>
|
||||
<p className='help-text'>
|
||||
<FormattedMessage
|
||||
id='admin.team.maxUsersDescription'
|
||||
defaultMessage='Maximum total number of users per team, including both active and inactive users.'
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -128,7 +171,10 @@ export default class TeamSettings extends React.Component {
|
||||
className='control-label col-sm-4'
|
||||
htmlFor='EnableTeamCreation'
|
||||
>
|
||||
{'Enable Team Creation: '}
|
||||
<FormattedMessage
|
||||
id='admin.team.teamCreationTitle'
|
||||
defaultMessage='Enable Team Creation: '
|
||||
/>
|
||||
</label>
|
||||
<div className='col-sm-8'>
|
||||
<label className='radio-inline'>
|
||||
@@ -140,7 +186,10 @@ export default class TeamSettings extends React.Component {
|
||||
defaultChecked={this.props.config.TeamSettings.EnableTeamCreation}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
{'true'}
|
||||
<FormattedMessage
|
||||
id='admin.team.true'
|
||||
defaultMessage='true'
|
||||
/>
|
||||
</label>
|
||||
<label className='radio-inline'>
|
||||
<input
|
||||
@@ -150,9 +199,17 @@ export default class TeamSettings extends React.Component {
|
||||
defaultChecked={!this.props.config.TeamSettings.EnableTeamCreation}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
{'false'}
|
||||
<FormattedMessage
|
||||
id='admin.team.false'
|
||||
defaultMessage='false'
|
||||
/>
|
||||
</label>
|
||||
<p className='help-text'>{'When false, the ability to create teams is disabled. The create team button displays error when pressed.'}</p>
|
||||
<p className='help-text'>
|
||||
<FormattedMessage
|
||||
id='admin.team.teamCreationDescription'
|
||||
defaultMessage='When false, the ability to create teams is disabled. The create team button displays error when pressed.'
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -161,7 +218,10 @@ export default class TeamSettings extends React.Component {
|
||||
className='control-label col-sm-4'
|
||||
htmlFor='EnableUserCreation'
|
||||
>
|
||||
{'Enable User Creation: '}
|
||||
<FormattedMessage
|
||||
id='admin.team.userCreationTitle'
|
||||
defaultMessage='Enable User Creation: '
|
||||
/>
|
||||
</label>
|
||||
<div className='col-sm-8'>
|
||||
<label className='radio-inline'>
|
||||
@@ -173,7 +233,10 @@ export default class TeamSettings extends React.Component {
|
||||
defaultChecked={this.props.config.TeamSettings.EnableUserCreation}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
{'true'}
|
||||
<FormattedMessage
|
||||
id='admin.team.true'
|
||||
defaultMessage='true'
|
||||
/>
|
||||
</label>
|
||||
<label className='radio-inline'>
|
||||
<input
|
||||
@@ -183,9 +246,17 @@ export default class TeamSettings extends React.Component {
|
||||
defaultChecked={!this.props.config.TeamSettings.EnableUserCreation}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
{'false'}
|
||||
<FormattedMessage
|
||||
id='admin.team.false'
|
||||
defaultMessage='false'
|
||||
/>
|
||||
</label>
|
||||
<p className='help-text'>{'When false, the ability to create accounts is disabled. The create account button displays error when pressed.'}</p>
|
||||
<p className='help-text'>
|
||||
<FormattedMessage
|
||||
id='admin.team.userCreationDescription'
|
||||
defaultMessage='When false, the ability to create accounts is disabled. The create account button displays error when pressed.'
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -194,7 +265,10 @@ export default class TeamSettings extends React.Component {
|
||||
className='control-label col-sm-4'
|
||||
htmlFor='RestrictCreationToDomains'
|
||||
>
|
||||
{'Restrict Creation To Domains:'}
|
||||
<FormattedMessage
|
||||
id='admin.team.restrictTitle'
|
||||
defaultMessage='Restrict Creation To Domains:'
|
||||
/>
|
||||
</label>
|
||||
<div className='col-sm-8'>
|
||||
<input
|
||||
@@ -202,11 +276,16 @@ export default class TeamSettings extends React.Component {
|
||||
className='form-control'
|
||||
id='RestrictCreationToDomains'
|
||||
ref='RestrictCreationToDomains'
|
||||
placeholder='Ex "corp.mattermost.com, mattermost.org"'
|
||||
placeholder={formatMessage(holders.restrictExample)}
|
||||
defaultValue={this.props.config.TeamSettings.RestrictCreationToDomains}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
<p className='help-text'>{'Teams and user accounts can only be created from a specific domain (e.g. "mattermost.org") or list of comma-separated domains (e.g. "corp.mattermost.com, mattermost.org").'}</p>
|
||||
<p className='help-text'>
|
||||
<FormattedMessage
|
||||
id='admin.team.restrictDescription'
|
||||
defaultMessage='Teams and user accounts can only be created from a specific domain (e.g. "mattermost.org") or list of comma-separated domains (e.g. "corp.mattermost.com, mattermost.org").'
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -215,7 +294,10 @@ export default class TeamSettings extends React.Component {
|
||||
className='control-label col-sm-4'
|
||||
htmlFor='RestrictTeamNames'
|
||||
>
|
||||
{'Restrict Team Names: '}
|
||||
<FormattedMessage
|
||||
id='admin.team.restrictNameTitle'
|
||||
defaultMessage='Restrict Team Names: '
|
||||
/>
|
||||
</label>
|
||||
<div className='col-sm-8'>
|
||||
<label className='radio-inline'>
|
||||
@@ -227,7 +309,10 @@ export default class TeamSettings extends React.Component {
|
||||
defaultChecked={this.props.config.TeamSettings.RestrictTeamNames}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
{'true'}
|
||||
<FormattedMessage
|
||||
id='admin.team.true'
|
||||
defaultMessage='true'
|
||||
/>
|
||||
</label>
|
||||
<label className='radio-inline'>
|
||||
<input
|
||||
@@ -237,9 +322,17 @@ export default class TeamSettings extends React.Component {
|
||||
defaultChecked={!this.props.config.TeamSettings.RestrictTeamNames}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
{'false'}
|
||||
<FormattedMessage
|
||||
id='admin.team.false'
|
||||
defaultMessage='false'
|
||||
/>
|
||||
</label>
|
||||
<p className='help-text'>{'When true, You cannot create a team name with reserved words like www, admin, support, test, channel, etc'}</p>
|
||||
<p className='help-text'>
|
||||
<FormattedMessage
|
||||
id='admin.team.restrictNameDesc'
|
||||
defaultMessage='When true, You cannot create a team name with reserved words like www, admin, support, test, channel, etc'
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -248,7 +341,10 @@ export default class TeamSettings extends React.Component {
|
||||
className='control-label col-sm-4'
|
||||
htmlFor='EnableTeamListing'
|
||||
>
|
||||
{'Enable Team Directory: '}
|
||||
<FormattedMessage
|
||||
id='admin.team.dirTitle'
|
||||
defaultMessage='Enable Team Directory: '
|
||||
/>
|
||||
</label>
|
||||
<div className='col-sm-8'>
|
||||
<label className='radio-inline'>
|
||||
@@ -260,7 +356,10 @@ export default class TeamSettings extends React.Component {
|
||||
defaultChecked={this.props.config.TeamSettings.EnableTeamListing}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
{'true'}
|
||||
<FormattedMessage
|
||||
id='admin.team.true'
|
||||
defaultMessage='true'
|
||||
/>
|
||||
</label>
|
||||
<label className='radio-inline'>
|
||||
<input
|
||||
@@ -270,9 +369,17 @@ export default class TeamSettings extends React.Component {
|
||||
defaultChecked={!this.props.config.TeamSettings.EnableTeamListing}
|
||||
onChange={this.handleChange}
|
||||
/>
|
||||
{'false'}
|
||||
<FormattedMessage
|
||||
id='admin.team.false'
|
||||
defaultMessage='false'
|
||||
/>
|
||||
</label>
|
||||
<p className='help-text'>{'When true, teams that are configured to show in team directory will show on main page inplace of creating a new team.'}</p>
|
||||
<p className='help-text'>
|
||||
<FormattedMessage
|
||||
id='admin.team.dirDesc'
|
||||
defaultMessage='When true, teams that are configured to show in team directory will show on main page inplace of creating a new team.'
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -285,9 +392,12 @@ export default class TeamSettings extends React.Component {
|
||||
className={saveClass}
|
||||
onClick={this.handleSubmit}
|
||||
id='save-button'
|
||||
data-loading-text={'<span class=\'glyphicon glyphicon-refresh glyphicon-refresh-animate\'></span> Saving Config...'}
|
||||
data-loading-text={'<span class=\'glyphicon glyphicon-refresh glyphicon-refresh-animate\'></span> ' + formatMessage(holders.saving)}
|
||||
>
|
||||
{'Save'}
|
||||
<FormattedMessage
|
||||
id='admin.team.save'
|
||||
defaultMessage='Save'
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -299,5 +409,8 @@ export default class TeamSettings extends React.Component {
|
||||
}
|
||||
|
||||
TeamSettings.propTypes = {
|
||||
intl: intlShape.isRequired,
|
||||
config: React.PropTypes.object
|
||||
};
|
||||
|
||||
export default injectIntl(TeamSettings);
|
||||
Ссылка в новой задаче
Block a user