// 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 DropdownSetting from './dropdown_setting.jsx'; import {FormattedHTMLMessage, FormattedMessage} from 'react-intl'; import SettingsGroup from './settings_group.jsx'; import TextSetting from './text_setting.jsx'; const RESTRICT_DIRECT_MESSAGE_ANY = 'any'; const RESTRICT_DIRECT_MESSAGE_TEAM = 'team'; export default class UsersAndTeamsSettings extends AdminSettings { constructor(props) { super(props); this.getConfigFromState = this.getConfigFromState.bind(this); this.renderSettings = this.renderSettings.bind(this); this.state = Object.assign(this.state, { enableUserCreation: props.config.TeamSettings.EnableUserCreation, enableTeamCreation: props.config.TeamSettings.EnableTeamCreation, maxUsersPerTeam: props.config.TeamSettings.MaxUsersPerTeam, restrictCreationToDomains: props.config.TeamSettings.RestrictCreationToDomains, restrictTeamNames: props.config.TeamSettings.RestrictTeamNames, restrictDirectMessage: props.config.TeamSettings.RestrictDirectMessage }); } getConfigFromState(config) { config.TeamSettings.EnableUserCreation = this.state.enableUserCreation; config.TeamSettings.EnableTeamCreation = this.state.enableTeamCreation; config.TeamSettings.MaxUsersPerTeam = this.parseIntNonZero(this.state.maxUsersPerTeam); config.TeamSettings.RestrictCreationToDomains = this.state.restrictCreationToDomains; config.TeamSettings.RestrictTeamNames = this.state.restrictTeamNames; config.TeamSettings.RestrictDirectMessage = this.state.restrictDirectMessage; return config; } renderTitle() { return (

); } renderSettings() { return ( } helpText={ } value={this.state.enableUserCreation} onChange={this.handleChange} /> } helpText={ } value={this.state.enableTeamCreation} onChange={this.handleChange} /> } placeholder={Utils.localizeMessage('admin.team.maxUsersExample', 'Ex "25"')} helpText={ } value={this.state.maxUsersPerTeam} onChange={this.handleChange} /> } placeholder={Utils.localizeMessage('admin.team.restrictExample', 'Ex "corp.mattermost.com, mattermost.org"')} helpText={ } value={this.state.restrictCreationToDomains} onChange={this.handleChange} /> } helpText={ } value={this.state.restrictTeamNames} onChange={this.handleChange} /> } helpText={ } value={this.state.restrictDirectMessage} onChange={this.handleChange} /> ); } }