PLT-3344 Set Localization config to always have by default all languages available (#3339)
Этот коммит содержится в:
коммит произвёл
Joram Wilander
родитель
c7e9f3cb1b
Коммит
3f4d38f58a
@@ -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'
|
||||
|
||||
@@ -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});
|
||||
|
||||
Ссылка в новой задаче
Block a user