diff options
Diffstat (limited to 'webapp/components')
-rw-r--r-- | webapp/components/admin_console/localization_settings.jsx | 13 | ||||
-rw-r--r-- | webapp/components/admin_console/multiselect_settings.jsx | 6 |
2 files changed, 5 insertions, 14 deletions
diff --git a/webapp/components/admin_console/localization_settings.jsx b/webapp/components/admin_console/localization_settings.jsx index 7987f77dc..67cf26fee 100644 --- a/webapp/components/admin_console/localization_settings.jsx +++ b/webapp/components/admin_console/localization_settings.jsx @@ -26,7 +26,7 @@ export default class LocalizationSettings extends AdminSettings { hasErrors: false, defaultServerLocale: props.config.LocalizationSettings.DefaultServerLocale, defaultClientLocale: props.config.LocalizationSettings.DefaultClientLocale, - availableLocales: props.config.LocalizationSettings.AvailableLocales.split(','), + availableLocales: props.config.LocalizationSettings.AvailableLocales ? props.config.LocalizationSettings.AvailableLocales.split(',') : [], languages: Object.keys(locales).map((l) => { return {value: locales[l].value, text: locales[l].name}; }) @@ -34,7 +34,7 @@ export default class LocalizationSettings extends AdminSettings { } canSave() { - return this.state.availableLocales.join(',').indexOf(this.state.defaultClientLocale) !== -1; + return this.state.availableLocales.join(',').indexOf(this.state.defaultClientLocale) !== -1 || this.state.availableLocales.length === 0; } getConfigFromState(config) { @@ -112,12 +112,11 @@ export default class LocalizationSettings extends AdminSettings { /> } selected={this.state.availableLocales} - mustBePresent={this.state.defaultClientLocale} onChange={this.handleChange} helpText={ <FormattedMessage id='admin.general.localization.availableLocalesDescription' - defaultMessage='Determines which languages are available for users in Account Settings.' + defaultMessage='Determines which languages are available for users in Account Settings. (Leave it blank to have all supported languages available)' /> } noResultText={ @@ -126,12 +125,6 @@ export default class LocalizationSettings extends AdminSettings { defaultMessage='No results found' /> } - errorText={ - <FormattedMessage - id='admin.general.localization.availableLocalesError' - defaultMessage='There has to be at least one language available' - /> - } notPresent={ <FormattedMessage id='admin.general.localization.availableLocalesNotPresent' diff --git a/webapp/components/admin_console/multiselect_settings.jsx b/webapp/components/admin_console/multiselect_settings.jsx index ca0bdc9aa..8aad5d6eb 100644 --- a/webapp/components/admin_console/multiselect_settings.jsx +++ b/webapp/components/admin_console/multiselect_settings.jsx @@ -19,9 +19,7 @@ export default class MultiSelectSetting extends React.Component { return n.value; }); - if (!newValue || newValue.length === 0) { - this.setState({error: this.props.errorText}); - } else if (this.props.mustBePresent && values.join(',').indexOf(this.props.mustBePresent) === -1) { + if (this.props.selected.length > 0 && this.props.mustBePresent && values.join(',').indexOf(this.props.mustBePresent) === -1) { this.setState({error: this.props.notPresent}); } else { this.props.onChange(this.props.id, values); @@ -30,7 +28,7 @@ export default class MultiSelectSetting extends React.Component { } componentWillReceiveProps(newProps) { - if (newProps.mustBePresent && newProps.selected.join(',').indexOf(newProps.mustBePresent) === -1) { + if (newProps.selected.length > 0 && newProps.mustBePresent && newProps.selected.join(',').indexOf(newProps.mustBePresent) === -1) { this.setState({error: this.props.notPresent}); } else { this.setState({error: false}); |