You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2018/07/27 04:10:26 UTC

[openmeetings] branch master updated: [OPENMEETINGS-1911] session language is set on HashPage

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 1d5b11c  [OPENMEETINGS-1911] session language is set on HashPage
1d5b11c is described below

commit 1d5b11c1e96d6e20191a5226dac6ad53aea9cdc4
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Fri Jul 27 11:09:52 2018 +0700

    [OPENMEETINGS-1911] session language is set on HashPage
---
 .../main/java/org/apache/openmeetings/db/util/LocaleHelper.java    | 7 +++++--
 .../src/main/java/org/apache/openmeetings/web/pages/HashPage.java  | 7 +++++++
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/LocaleHelper.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/LocaleHelper.java
index d215903..b4eaef8 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/LocaleHelper.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/util/LocaleHelper.java
@@ -58,9 +58,12 @@ public class LocaleHelper {
 		return code;
 	}
 
+	public static Locale getLocale(Long langId) {
+		return langId == 3 ? Locale.GERMANY : LabelDao.getLocale(langId);
+	}
+
 	public static Locale getLocale(User u) {
-		Long langId = u.getLanguageId();
-		Locale locale = langId == 3 ? Locale.GERMANY : LabelDao.getLocale(langId);
+		Locale locale = getLocale(u.getLanguageId());
 		try {
 			Locale.Builder builder = new Locale.Builder().setLanguage(locale.getLanguage());
 			if (u.getAddress() != null && u.getAddress().getCountry() != null) {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
index fbbf0e6..2294e4e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
@@ -31,6 +31,7 @@ import org.apache.openmeetings.db.entity.room.Invitation;
 import org.apache.openmeetings.db.entity.room.Invitation.Valid;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.util.FormatHelper;
+import org.apache.openmeetings.db.util.LocaleHelper;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.IUpdatable;
 import org.apache.openmeetings.web.common.MainPanel;
@@ -70,6 +71,7 @@ public class HashPage extends BaseInitedPage implements IUpdatable {
 	public static final String PANEL_MAIN = "panel-main";
 	public static final String INVITATION_HASH = "invitation";
 	private static final String HASH = "secure";
+	private static final String LANG = "language";
 	private final WebMarkupContainer recContainer = new WebMarkupContainer("panel-recording");
 	private final VideoInfo vi = new VideoInfo("info", null);
 	private final VideoPlayer vp = new VideoPlayer("player");
@@ -108,6 +110,11 @@ public class HashPage extends BaseInitedPage implements IUpdatable {
 
 		WebSession ws = WebSession.get();
 		ws.checkHashes(secure, invitation);
+		long lang = p.get(LANG).toLong(-1L);
+		if (lang > -1) {
+			ws.setLanguage(lang);
+			ws.setLocale(LocaleHelper.getLocale(lang));
+		}
 
 		String errorMsg = getString("invalid.hash");
 		recContainer.setVisible(false);