(js) Don't change user language when not changed

Fixes #4244
pull/218/merge
Francis Lachapelle 2017-08-30 14:18:23 -04:00
parent 1ac910bdd1
commit cb2ab9152f
3 changed files with 11 additions and 2 deletions

View File

@ -535,6 +535,11 @@
return [[context resourceLookupLanguages] objectAtIndex: 0];
}
- (NSString *) localizedLanguage
{
return [self labelForKey: [self language]];
}
- (NSArray *) languages
{
return [[SOGoSystemDefaults sharedSystemDefaults] supportedLanguages];

View File

@ -57,7 +57,9 @@
<md-icon>language</md-icon>
<md-input-container class="md-flex">
<label><var:string label:value="choose"/></label>
<md-select ng-model="app.creds.language" ng-change="app.changeLanguage($event)">
<md-select ng-model="app.creds.language"
var:placeholder="localizedLanguage"
ng-change="app.changeLanguage($event)">
<var:foreach list="languages" item="item">
<md-option var:value="item">
<var:string value="languageText"/>

View File

@ -17,9 +17,11 @@
this.creds = {
username: $window.cookieUsername,
password: null,
language: $window.language,
rememberLogin: angular.isDefined($window.cookieUsername) && $window.cookieUsername.length > 0
};
// Send selected language only if user has changed it
if (/\blanguage=/.test($window.location.search))
this.creds.language = $window.language;
this.loginState = false;
// Show login once everything is initialized