Respect languages preferences on login page

Fixes #4169
This commit is contained in:
Francis Lachapelle
2017-05-31 10:48:35 -04:00
parent 678cf66a57
commit e73a3495bb
7 changed files with 45 additions and 10 deletions
+2
View File
@@ -31,6 +31,8 @@
NSString *cookieLogin;
}
- (NSArray *) languages;
@end
#endif /* SOGOROOTPAGE_H */
+10
View File
@@ -521,6 +521,16 @@
return item;
}
- (BOOL) hasManyLanguages
{
return [[self languages] count] > 1;
}
- (NSString *) language
{
return [[context resourceLookupLanguages] objectAtIndex: 0];
}
- (NSArray *) languages
{
return [[SOGoSystemDefaults sharedSystemDefaults] supportedLanguages];
+3 -1
View File
@@ -42,20 +42,22 @@
<label><var:string label:value="Password"/><br/>
<input class="textField" id="password"
name="password" type="password" var:value="password" /></label>
<var:if condition="hasManyLanguages">
<label><var:string label:value="Language"/><br/>
<var:popup const:id="language" const:name="language"
list="languages"
item="item"
var:value="item"
var:selection="language"
string="languageText"
label:noSelectionString="choose"
/></label>
</var:if>
<var:if condition="hasLoginDomains">
<label><var:string label:value="Domain"/><br/>
<var:popup const:id="domain" const:name="domain"
list="loginDomains"
item="item"
var:selection="item"
var:value="item"
string="item"
/></label>
+9
View File
@@ -24,6 +24,15 @@ function initLogin() {
event.stop() });
}
var language = $("language");
if (language)
language.on("change", function(event) {
var value = $("language").value;
if (value != "WONoSelectionString")
// Reload page
window.location.href = ApplicationBaseURL + '/login?language=' + value;
});
var submit = $("submit");
submit.observe("click", onLoginClick);