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 2017/03/08 11:59:51 UTC

svn commit: r1785951 [2/2] - in /openmeetings/application: branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/ branches/3.2.x/openmee...

Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Room.java Wed Mar  8 11:59:49 2017
@@ -80,8 +80,8 @@ import org.simpleframework.xml.Root;
 	@NamedQuery(name = "getBackupRooms", query = "SELECT r FROM Room r ORDER BY r.id"),
 	@NamedQuery(name = "getRoomsCapacityByIds", query = "SELECT SUM(r.numberOfPartizipants) FROM Room r WHERE r.deleted = false AND r.id IN :ids")
 	, @NamedQuery(name = "getGroupRooms", query = "SELECT DISTINCT c.room FROM RoomGroup c LEFT JOIN FETCH c.room "
-				+ "WHERE c.group.id = :groupId AND c.deleted = false AND c.room.deleted = false AND c.room.appointment = false "
-				+ "AND c.group.deleted = false ORDER BY c.room.name ASC")
+			+ "WHERE c.group.id = :groupId AND c.deleted = false AND c.room.deleted = false AND c.room.appointment = false "
+			+ "AND c.group.deleted = false ORDER BY c.room.name ASC")
 })
 @Table(name = "room")
 @Root(name = "room")

Modified: openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java (original)
+++ openmeetings/application/trunk/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java Wed Mar  8 11:59:49 2017
@@ -52,6 +52,7 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_ADMIN;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_GROUP_ADMIN;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_USER;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.MENU_ROOMS_NAME;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
@@ -129,7 +130,7 @@ public class ImportInitvalues {
 		/*
 		 * ######################## Conference Menu Points
 		 */
-		Naviglobal rooms = navimanagement.addGlobalStructure(2, "792", LEVEL_USER, "Conference Rooms", "793");
+		Naviglobal rooms = navimanagement.addGlobalStructure(2, "792", LEVEL_USER, MENU_ROOMS_NAME, "793");
 		navimanagement.addMainStructure("conferenceModuleRoomList", "publicTabButton", 1, "777", LEVEL_USER, "Public Rooms", rooms.getId(), "1506");
 		navimanagement.addMainStructure("conferenceModuleRoomList", "privateTabButton", 2, "779", LEVEL_USER, "Private Rooms", rooms.getId(), "1507");
 		navimanagement.addMainStructure("conferenceModuleRoomList", "myTabButton", 3, "781", LEVEL_USER, "My Rooms", rooms.getId(), "1508");

Modified: openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java (original)
+++ openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java Wed Mar  8 11:59:49 2017
@@ -48,6 +48,8 @@ public class OpenmeetingsVariables {
 	public static final String CONFIG_DEFAULT_GROUP_ID = "default_group_id";
 	public static final String CONFIG_GOOGLE_ANALYTICS_CODE = "google.analytics.code";
 	public static final String CONFIG_SYSTEM_EMAIL = "system_email_addr";
+	public static final String MENU_ROOMS_NAME = "Conference Rooms";
+	public static final int RECENT_ROOMS_COUNT = 5;
 	public static final int LEVEL_USER = 1;
 	public static final int LEVEL_GROUP_ADMIN = 2;
 	public static final int LEVEL_ADMIN = 3;

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java Wed Mar  8 11:59:49 2017
@@ -21,6 +21,7 @@ package org.apache.openmeetings.web.app;
 import static org.apache.openmeetings.core.util.WebSocketHelper.sendRoom;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static org.apache.openmeetings.web.pages.HashPage.INVITATION_HASH;
 import static org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment;
 import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
@@ -45,10 +46,12 @@ import org.apache.openmeetings.core.remo
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.label.LabelDao;
+import org.apache.openmeetings.db.dao.log.ConferenceLogDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.entity.basic.Client.Activity;
 import org.apache.openmeetings.db.entity.basic.Client.Pod;
+import org.apache.openmeetings.db.entity.log.ConferenceLog;
 import org.apache.openmeetings.db.entity.record.Recording;
 import org.apache.openmeetings.db.entity.room.Invitation;
 import org.apache.openmeetings.db.entity.room.Room;
@@ -67,6 +70,7 @@ import org.apache.openmeetings.web.pages
 import org.apache.openmeetings.web.pages.install.InstallWizardPage;
 import org.apache.openmeetings.web.room.RoomResourceReference;
 import org.apache.openmeetings.web.user.dashboard.MyRoomsWidgetDescriptor;
+import org.apache.openmeetings.web.user.dashboard.RecentRoomsWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.RssWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.StartWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.WelcomeWidgetDescriptor;
@@ -143,6 +147,7 @@ public class Application extends Authent
 		dashboardContext.setDashboardPersister(new UserDashboardPersister());
 		WidgetRegistry widgetRegistry = dashboardContext.getWidgetRegistry();
 		widgetRegistry.registerWidget(new MyRoomsWidgetDescriptor());
+		widgetRegistry.registerWidget(new RecentRoomsWidgetDescriptor());
 		widgetRegistry.registerWidget(new WelcomeWidgetDescriptor());
 		widgetRegistry.registerWidget(new StartWidgetDescriptor());
 		widgetRegistry.registerWidget(new RssWidgetDescriptor());
@@ -228,6 +233,11 @@ public class Application extends Authent
 		removeUserFromRoom(c);
 		if (roomId != null) {
 			sendRoom(new RoomMessage(roomId, c.getUserId(), RoomMessage.Type.roomExit));
+			getBean(ConferenceLogDao.class).add(
+					ConferenceLog.Type.roomLeave
+					, getUserId(), "0", roomId
+					, WebSession.get().getClientInfo().getProperties().getRemoteAddress()
+					, "" + roomId);
 		}
 	}
 

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml Wed Mar  8 11:59:49 2017
@@ -1934,4 +1934,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml Wed Mar  8 11:59:49 2017
@@ -1902,4 +1902,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml Wed Mar  8 11:59:49 2017
@@ -1897,4 +1897,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml Wed Mar  8 11:59:49 2017
@@ -1915,4 +1915,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml Wed Mar  8 11:59:49 2017
@@ -1915,4 +1915,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml Wed Mar  8 11:59:49 2017
@@ -1914,4 +1914,6 @@
 	{0} Комманда поддержки.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Запись будет удалена</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Комната[{0}]</entry>
+	<entry key="widget.recent.title">Последние комнаты</entry>
+	<entry key="widget.recent.desc">Эта секция отображает комнаты в которые Вы недавно заходили</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml Wed Mar  8 11:59:49 2017
@@ -1914,4 +1914,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml Wed Mar  8 11:59:49 2017
@@ -1899,4 +1899,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml Wed Mar  8 11:59:49 2017
@@ -1913,4 +1913,6 @@
 	{0} Support Team.]]></entry>
 	<entry key="template.recording.expiring.subj.prefix">Recording will be deleted</entry>
 	<entry key="template.recording.expiring.subj.room"> -- Room[{0}]</entry>
+	<entry key="widget.recent.title">Recent Rooms</entry>
+	<entry key="widget.recent.desc">This sections displays rooms recently opened by you</entry>
 </properties>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java Wed Mar  8 11:59:49 2017
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.db
 import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_ADMIN;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_GROUP_ADMIN;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.LEVEL_USER;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.MENU_ROOMS_NAME;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.addOnlineUser;
 import static org.apache.openmeetings.web.app.Application.exit;
@@ -42,10 +43,12 @@ import java.util.Set;
 
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.dao.basic.NavigationDao;
+import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.entity.basic.Naviglobal;
 import org.apache.openmeetings.db.entity.basic.Navimain;
+import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.user.PrivateMessage;
 import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.web.app.Application;
@@ -53,10 +56,12 @@ import org.apache.openmeetings.web.app.W
 import org.apache.openmeetings.web.common.menu.MainMenuItem;
 import org.apache.openmeetings.web.common.menu.MenuItem;
 import org.apache.openmeetings.web.common.menu.MenuPanel;
+import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.user.AboutDialog;
 import org.apache.openmeetings.web.user.MessageDialog;
 import org.apache.openmeetings.web.user.UserInfoDialog;
 import org.apache.openmeetings.web.user.chat.ChatPanel;
+import org.apache.openmeetings.web.user.rooms.RoomEnterBehavior;
 import org.apache.openmeetings.web.util.ContactsHelper;
 import org.apache.openmeetings.web.util.OmUrlFragment;
 import org.apache.wicket.Component;
@@ -91,6 +96,7 @@ import com.googlecode.wicket.jquery.ui.w
 public class MainPanel extends Panel {
 	private static final long serialVersionUID = 1L;
 	private static final Logger log = Red5LoggerFactory.getLogger(MainPanel.class, webAppRootKey);
+	private static final String DELIMITER = "     ";
 	private static final WebMarkupContainer EMPTY = new WebMarkupContainer(CHILD_ID);
 	public static final String PARAM_USER_ID = "userId";
 	private Client client = null;
@@ -288,6 +294,23 @@ public class MainPanel extends Panel {
 					}
 				});
 			}
+			if (MENU_ROOMS_NAME.equals(gl.getName())) {
+				List<Room> recent = getBean(RoomDao.class).getRecent(getUserId());
+				if (!recent.isEmpty()) {
+					l.add(new MenuItem(DELIMITER, (String)null));
+				}
+				for (Room r : recent) {
+					final Long roomId = r.getId();
+					l.add(new MenuItem(r.getName(), r.getName()) {
+						private static final long serialVersionUID = 1L;
+
+						@Override
+						public void onClick(AjaxRequestTarget target) {
+							RoomEnterBehavior.roomEnter((MainPage)getPage(), target, roomId);
+						}
+					});
+				}
+			}
 			menu.add(new MenuItem(Application.getString(gl.getLabelId()), l));
 		}
 		return menu;

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1785951&r1=1785950&r2=1785951&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Wed Mar  8 11:59:49 2017
@@ -38,11 +38,13 @@ import org.apache.openmeetings.core.remo
 import org.apache.openmeetings.core.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.dao.calendar.AppointmentDao;
+import org.apache.openmeetings.db.dao.log.ConferenceLogDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.openmeetings.db.entity.calendar.MeetingMember;
 import org.apache.openmeetings.db.entity.file.FileItem;
+import org.apache.openmeetings.db.entity.log.ConferenceLog;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.Room.Right;
 import org.apache.openmeetings.db.entity.room.Room.RoomElement;
@@ -104,12 +106,17 @@ public class RoomPanel extends BasePanel
 	}
 	private final Room r;
 	private final WebMarkupContainer room = new WebMarkupContainer("roomContainer");
-	private final AbstractDefaultAjaxBehavior aab = new AbstractDefaultAjaxBehavior() {
+	private final AbstractDefaultAjaxBehavior roomEnter = new AbstractDefaultAjaxBehavior() {
 		private static final long serialVersionUID = 1L;
 
 		@Override
 		protected void respond(AjaxRequestTarget target) {
 			target.appendJavaScript("setRoomSizes();");
+			getBean(ConferenceLogDao.class).add(
+					ConferenceLog.Type.roomEnter
+					, getUserId(), "0", r.getId()
+					, WebSession.get().getClientInfo().getProperties().getRemoteAddress()
+					, "" + r.getId());
 			//TODO SID etc
 			try {
 				URL url = new URL(WebSession.get().getExtendedProperties().getCodebase());
@@ -195,7 +202,7 @@ public class RoomPanel extends BasePanel
 		WebMarkupContainer wb = new WebMarkupContainer("whiteboard");
 		room.add(wbArea.add(wb.setOutputMarkupId(true)));
 		room.add(new WhiteboardBehavior("1", wb.getMarkupId(), null, null, null));
-		room.add(aab);
+		room.add(roomEnter);
 		room.add(sidebar = new RoomSidebar("sidebar", this));
 		room.add(activities = new ActivitiesPanel("activities", this));
 		add(roomClosed = new RedirectMessageDialog("room-closed", "1098", r.isClosed(), r.getRedirectURL()));
@@ -495,7 +502,7 @@ public class RoomPanel extends BasePanel
 					, String.format("room-reload-%s", UUID.randomUUID()))));
 		}
 		if (room.isVisible()) {
-			response.render(OnDomReadyHeaderItem.forScript(aab.getCallbackScript()));
+			response.render(OnDomReadyHeaderItem.forScript(roomEnter.getCallbackScript()));
 		}
 	}
 

Added: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidget.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidget.java?rev=1785951&view=auto
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidget.java (added)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidget.java Wed Mar  8 11:59:49 2017
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.dashboard;
+
+import org.apache.openmeetings.web.app.Application;
+import org.apache.wicket.model.Model;
+import org.wicketstuff.dashboard.AbstractWidget;
+import org.wicketstuff.dashboard.Widget;
+import org.wicketstuff.dashboard.WidgetLocation;
+import org.wicketstuff.dashboard.web.WidgetView;
+
+public class RecentRoomsWidget extends AbstractWidget {
+	private static final long serialVersionUID = 1L;
+	public static final String WIDGET_ID_RECENT_ROOMS = "RecentRoomsWidget";
+
+	public RecentRoomsWidget() {
+		super();
+		location = new WidgetLocation(1, 1);
+		init();
+	}
+
+	@Override
+	public void init() {
+		super.init();
+		title = Application.getString("widget.recent.title");
+		id = WIDGET_ID_RECENT_ROOMS;
+	}
+
+	@Override
+	public WidgetView createView(String viewId) {
+		return new RecentRoomsWidgetView(viewId, new Model<Widget>(this));
+	}
+}

Added: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetDescriptor.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetDescriptor.java?rev=1785951&view=auto
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetDescriptor.java (added)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetDescriptor.java Wed Mar  8 11:59:49 2017
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.dashboard;
+
+import org.apache.openmeetings.web.app.Application;
+import org.wicketstuff.dashboard.WidgetDescriptor;
+
+public class RecentRoomsWidgetDescriptor implements WidgetDescriptor {
+	private static final long serialVersionUID = 1L;
+
+	@Override
+	public String getName() {
+		return Application.getString("widget.recent.title");
+	}
+
+	@Override
+	public String getProvider() {
+		return "Apache Openmeetings";
+	}
+
+	@Override
+	public String getDescription() {
+		return Application.getString("widget.recent.desc");
+	}
+
+	@Override
+	public String getWidgetClassName() {
+		return RecentRoomsWidget.class.getName();
+	}
+
+	@Override
+	public String getTypeName() {
+		return "om.widget.recentrooms";
+	}
+}

Added: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.html?rev=1785951&view=auto
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.html (added)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.html Wed Mar  8 11:59:49 2017
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+  
+      http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+  
+-->
+<html xmlns:wicket="http://wicket.apache.org">
+	<wicket:panel>
+		<div wicket:id="rooms"></div>
+	</wicket:panel>
+</html>

Added: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.java?rev=1785951&view=auto
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.java (added)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/RecentRoomsWidgetView.java Wed Mar  8 11:59:49 2017
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.user.dashboard;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+
+import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.web.user.rooms.RoomsPanel;
+import org.apache.wicket.model.Model;
+import org.wicketstuff.dashboard.Widget;
+import org.wicketstuff.dashboard.web.WidgetView;
+
+public class RecentRoomsWidgetView extends WidgetView {
+	private static final long serialVersionUID = 1L;
+
+	public RecentRoomsWidgetView(String id, Model<Widget> model) {
+		super(id, model);
+
+		add(new RoomsPanel("rooms", getBean(RoomDao.class).getRecent(getUserId())));
+	}
+}