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 2016/11/09 08:31:07 UTC

svn commit: r1768867 - in /openmeetings/application: branches/3.1.x/openmeetings-web/ branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/ bra...

Author: solomax
Date: Wed Nov  9 08:31:07 2016
New Revision: 1768867

URL: http://svn.apache.org/viewvc?rev=1768867&view=rev
Log:
[OPENMEETINGS-1376] code clean-up

Removed:
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/CommonMessageDialog.html
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/CommonMessageDialog.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/CommonMessageDialog.html
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/CommonMessageDialog.java
Modified:
    openmeetings/application/branches/3.1.x/openmeetings-web/pom.xml
    openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
    openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java
    openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java
    openmeetings/application/trunk/openmeetings-web/pom.xml
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
    openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java

Modified: openmeetings/application/branches/3.1.x/openmeetings-web/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/pom.xml?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/pom.xml (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/pom.xml Wed Nov  9 08:31:07 2016
@@ -382,6 +382,11 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.wicket</groupId>
+			<artifactId>wicket-native-websocket-core</artifactId>
+			<version>${wicketws.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.wicket</groupId>
 			<artifactId>wicket-native-websocket-javax</artifactId>
 			<version>${wicketws.version}</version>
 		</dependency>

Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java Wed Nov  9 08:31:07 2016
@@ -276,7 +276,7 @@ public class MainPanel extends Panel {
 		});
 	}
 
-	private int getLevel() {
+	private static int getLevel() {
 		Set<Right> r = WebSession.getRights();
 		return hasAdminLevel(r) ? LEVEL_ADMIN : (hasGroupAdminLevel(r) ? LEVEL_GROUP_ADMIN : LEVEL_USER);
 	}

Modified: openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java Wed Nov  9 08:31:07 2016
@@ -104,7 +104,7 @@ public class TestUserGroup extends Abstr
 		checkEmptyGroup("dao.getByLogin(ldap)", userDao.getByLogin(u1.getLogin(), u1.getType(), u1.getDomainId()));
 	}
 
-	private void checkEmptyGroup(String prefix, User u) {
+	private static void checkEmptyGroup(String prefix, User u) {
 		assertNotNull(prefix + ":: Created user should be available", u);
 		assertNotNull(prefix + ":: List<GroupUser> for newly created user should not be null", u.getGroupUsers());
 		assertTrue(prefix + ":: List<GroupUser> for newly created user should be empty", u.getGroupUsers().isEmpty());

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/pom.xml Wed Nov  9 08:31:07 2016
@@ -382,6 +382,11 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.wicket</groupId>
+			<artifactId>wicket-native-websocket-core</artifactId>
+			<version>${wicketws.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.wicket</groupId>
 			<artifactId>wicket-native-websocket-javax</artifactId>
 			<version>${wicketws.version}</version>
 		</dependency>

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java Wed Nov  9 08:31:07 2016
@@ -294,7 +294,7 @@ public class MainPanel extends Panel {
 		});
 	}
 
-	private int getLevel() {
+	private static int getLevel() {
 		Set<Right> r = WebSession.getRights();
 		return hasAdminLevel(r) ? LEVEL_ADMIN : (hasGroupAdminLevel(r) ? LEVEL_GROUP_ADMIN : LEVEL_USER);
 	}

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html Wed Nov  9 08:31:07 2016
@@ -41,6 +41,6 @@
 	<div wicket:id="room-closed"></div>
 	<div wicket:id="wait-for-recording"></div>
 	<div wicket:id="nickname"></div>
-	<div wicket:id="kickClientDialog"></div>
+	<div wicket:id="client-kicked"></div>
 </wicket:panel>
 </html>

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Wed Nov  9 08:31:07 2016
@@ -56,7 +56,6 @@ import org.apache.openmeetings.web.app.A
 import org.apache.openmeetings.web.app.Client;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.BasePanel;
-import org.apache.openmeetings.web.common.CommonMessageDialog;
 import org.apache.openmeetings.web.room.activities.ActivitiesPanel;
 import org.apache.openmeetings.web.room.activities.Activity;
 import org.apache.openmeetings.web.room.menu.RoomMenuPanel;
@@ -137,7 +136,7 @@ public class RoomPanel extends BasePanel
 		}
 	};
 	private RedirectMessageDialog roomClosed;
-	private CommonMessageDialog kickClientDialog;
+	private MessageDialog clientKicked;
 	private RoomMenuPanel menu;
 	private RoomSidebar sidebar;
 	private ActivitiesPanel activities;
@@ -268,11 +267,12 @@ public class RoomPanel extends BasePanel
 		} else {
 			add(new WebMarkupContainer("nickname").setVisible(false));
 		}
-		add(kickClientDialog = new CommonMessageDialog("kickClientDialog", "606"){
+		add(clientKicked = new MessageDialog("client-kicked", getString("797"), getString("606"), DialogButtons.OK, DialogIcon.ERROR) {
 			private static final long serialVersionUID = 1L;
+
 			@Override
 			public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
-				setResponsePage(Application.get().getHomePage());
+				menu.exit(handler, true);
 			}
 		});
 	}
@@ -380,10 +380,13 @@ public class RoomPanel extends BasePanel
 						break;
 					case kick:
 						{
+							//FIXME TODO add line to activities about user kick
+							//activities.add(new Activity(m, Activity.Type.roomExit), handler);
 							String uid = ((TextRoomMessage)m).getText();
 							if (getClient().getUid().equals(uid)) {
 								handler.add(room.setVisible(false));
-								kickClientDialog.open(handler);
+								//FIXME TODO chat still available for the client being kicked
+								clientKicked.open(handler);
 							}
 						}
 						break;

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java Wed Nov  9 08:31:07 2016
@@ -313,8 +313,12 @@ public class RoomMenuPanel extends Panel
 	}
 
 	public void exit(IPartialPageRequestHandler handler) {
+		exit(handler, false);
+	}
+
+	public void exit(IPartialPageRequestHandler handler, boolean broadcast) {
 		if (WebSession.getRights().contains(User.Right.Dashboard)) {
-			roomExit(room.getClient(), false);
+			roomExit(room.getClient(), broadcast);
 			room.getMainPanel().updateContents(ROOMS_PUBLIC, handler);
 		} else {
 			String url = getBean(ConfigurationDao.class).getConfValue(CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY, String.class, "");

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html Wed Nov  9 08:31:07 2016
@@ -9,7 +9,7 @@
   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
@@ -36,6 +36,6 @@
 		<div class="file list" wicket:id="tree"></div>
 	</wicket:fragment>
 	<div wicket:id="upload"></div>
-	<div wicket:id="kickDialog" />
+	<div wicket:id="confirm-kick" />
 </wicket:panel>
 </html>

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java Wed Nov  9 08:31:07 2016
@@ -74,9 +74,9 @@ public class RoomSidebar extends Panel {
 	private final UploadDialog upload;
 	private final RoomFilePanel roomFiles;
 	private final SelfIconsPanel selfRights;
-	private final ConfirmableAjaxBorder kickDialog;
+	private final ConfirmableAjaxBorder confirmKick;
 	private boolean showFiles;
-	private Client kickClient;
+	private Client kickedClient;
 	public enum Pod {
 		none
 		, right
@@ -102,14 +102,14 @@ public class RoomSidebar extends Panel {
 				}
 				if (room.getClient().hasRight(Right.moderator)) {
 					Action a = Action.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTION).toString()); 
-					kickClient = getOnlineClient(uid);
-					if (kickClient == null || a == null) {
+					kickedClient = getOnlineClient(uid);
+					if (kickedClient == null) {
 						return;
 					}
 					switch (a) {
 						case kick:
-							if ((!room.getClient().getUid().equals(kickClient.getUid()))) {
-								kickDialog.getDialog().open(target);
+							if (!kickedClient.hasRight(Right.superModerator) && !room.getClient().getUid().equals(kickedClient.getUid())) {
+								confirmKick.getDialog().open(target);
 							}
 							break;
 						default:
@@ -231,12 +231,12 @@ public class RoomSidebar extends Panel {
 		roomFiles = new RoomFilePanel("tree", room);
 		selfRights = new SelfIconsPanel("icons", room.getClient(), room, true);
 		add(upload = new UploadDialog("upload", room, roomFiles));
-		add(kickDialog = new ConfirmableAjaxBorder("kickDialog", getString("603"), getString("605")) {
+		add(confirmKick = new ConfirmableAjaxBorder("confirm-kick", getString("603"), getString("605")) {
 			private static final long serialVersionUID = 1L;
 
 			@Override
 			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-				room.kickUser(target, kickClient);
+				room.kickUser(target, kickedClient);
 			}
 		});
 		add(toggleRight, toggleActivity, roomAction);

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java Wed Nov  9 08:31:07 2016
@@ -104,7 +104,7 @@ public class TestUserGroup extends Abstr
 		checkEmptyGroup("dao.getByLogin(ldap)", userDao.getByLogin(u1.getLogin(), u1.getType(), u1.getDomainId()));
 	}
 
-	private void checkEmptyGroup(String prefix, User u) {
+	private static void checkEmptyGroup(String prefix, User u) {
 		assertNotNull(prefix + ":: Created user should be available", u);
 		assertNotNull(prefix + ":: List<GroupUser> for newly created user should not be null", u.getGroupUsers());
 		assertTrue(prefix + ":: List<GroupUser> for newly created user should be empty", u.getGroupUsers().isEmpty());

Modified: openmeetings/application/trunk/openmeetings-web/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/pom.xml?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/pom.xml (original)
+++ openmeetings/application/trunk/openmeetings-web/pom.xml Wed Nov  9 08:31:07 2016
@@ -382,6 +382,11 @@
 		</dependency>
 		<dependency>
 			<groupId>org.apache.wicket</groupId>
+			<artifactId>wicket-native-websocket-core</artifactId>
+			<version>${wicketws.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.wicket</groupId>
 			<artifactId>wicket-native-websocket-javax</artifactId>
 			<version>${wicketws.version}</version>
 		</dependency>

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=1768867&r1=1768866&r2=1768867&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 Nov  9 08:31:07 2016
@@ -294,7 +294,7 @@ public class MainPanel extends Panel {
 		});
 	}
 
-	private int getLevel() {
+	private static int getLevel() {
 		Set<Right> r = WebSession.getRights();
 		return hasAdminLevel(r) ? LEVEL_ADMIN : (hasGroupAdminLevel(r) ? LEVEL_GROUP_ADMIN : LEVEL_USER);
 	}

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html Wed Nov  9 08:31:07 2016
@@ -41,6 +41,6 @@
 	<div wicket:id="room-closed"></div>
 	<div wicket:id="wait-for-recording"></div>
 	<div wicket:id="nickname"></div>
-	<div wicket:id="kickClientDialog"></div>
+	<div wicket:id="client-kicked"></div>
 </wicket:panel>
 </html>

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=1768867&r1=1768866&r2=1768867&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 Nov  9 08:31:07 2016
@@ -54,7 +54,6 @@ import org.apache.openmeetings.web.app.A
 import org.apache.openmeetings.web.app.Client;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.BasePanel;
-import org.apache.openmeetings.web.common.CommonMessageDialog;
 import org.apache.openmeetings.web.room.activities.ActivitiesPanel;
 import org.apache.openmeetings.web.room.activities.Activity;
 import org.apache.openmeetings.web.room.menu.RoomMenuPanel;
@@ -138,7 +137,7 @@ public class RoomPanel extends BasePanel
 		}
 	};
 	private RedirectMessageDialog roomClosed;
-	private CommonMessageDialog kickClientDialog;
+	private MessageDialog clientKicked;
 	private RoomMenuPanel menu;
 	private RoomSidebar sidebar;
 	private ActivitiesPanel activities;
@@ -271,12 +270,13 @@ public class RoomPanel extends BasePanel
 		} else {
 			add(new WebMarkupContainer("nickname").setVisible(false));
 		}
-		add(kickClientDialog = new CommonMessageDialog("kickClientDialog", "606"){
+		add(clientKicked = new MessageDialog("client-kicked", getString("797"), getString("606"), DialogButtons.OK, DialogIcon.ERROR) {
 			private static final long serialVersionUID = 1L;
+
 			@Override
 			public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
-				setResponsePage(Application.get().getHomePage());
-	}
+				menu.exit(handler, true);
+			}
 		});
 	}
 	
@@ -383,14 +383,17 @@ public class RoomPanel extends BasePanel
 						break;
 					case kick:
 						{
+							//FIXME TODO add line to activities about user kick
+							//activities.add(new Activity(m, Activity.Type.roomExit), handler);
 							String uid = ((TextRoomMessage)m).getText();
 							if (getClient().getUid().equals(uid)) {
 								handler.add(room.setVisible(false));
-								kickClientDialog.open(handler);
-				}
-			}
+								//FIXME TODO chat still available for the client being kicked
+								clientKicked.open(handler);
+							}
+						}
 						break;
-		}
+				}
 			}
 		}
 		super.onEvent(event);

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java Wed Nov  9 08:31:07 2016
@@ -313,8 +313,12 @@ public class RoomMenuPanel extends Panel
 	}
 
 	public void exit(IPartialPageRequestHandler handler) {
+		exit(handler, false);
+	}
+
+	public void exit(IPartialPageRequestHandler handler, boolean broadcast) {
 		if (WebSession.getRights().contains(User.Right.Dashboard)) {
-			roomExit(room.getClient(), false);
+			roomExit(room.getClient(), broadcast);
 			room.getMainPanel().updateContents(ROOMS_PUBLIC, handler);
 		} else {
 			String url = getBean(ConfigurationDao.class).getConfValue(CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY, String.class, "");

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html Wed Nov  9 08:31:07 2016
@@ -9,7 +9,7 @@
   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
@@ -36,6 +36,6 @@
 		<div class="file list" wicket:id="tree"></div>
 	</wicket:fragment>
 	<div wicket:id="upload"></div>
-	<div wicket:id="kickDialog" />
+	<div wicket:id="confirm-kick" />
 </wicket:panel>
 </html>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java Wed Nov  9 08:31:07 2016
@@ -74,9 +74,9 @@ public class RoomSidebar extends Panel {
 	private final UploadDialog upload;
 	private final RoomFilePanel roomFiles;
 	private final SelfIconsPanel selfRights;
-	private final ConfirmableAjaxBorder kickDialog;
+	private final ConfirmableAjaxBorder confirmKick;
 	private boolean showFiles;
-	private Client kickClient;
+	private Client kickedClient;
 	public enum Pod {
 		none
 		, right
@@ -102,14 +102,14 @@ public class RoomSidebar extends Panel {
 				}
 				if (room.getClient().hasRight(Right.moderator)) {
 					Action a = Action.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTION).toString()); 
-					kickClient = getOnlineClient(uid);
-					if (kickClient == null || a == null) {
+					kickedClient = getOnlineClient(uid);
+					if (kickedClient == null) {
 						return;
 					}
 					switch (a) {
 						case kick:
-							if ((!room.getClient().getUid().equals(kickClient.getUid()))) {
-								kickDialog.getDialog().open(target);
+							if (!kickedClient.hasRight(Right.superModerator) && !room.getClient().getUid().equals(kickedClient.getUid())) {
+								confirmKick.getDialog().open(target);
 							}
 							break;
 						default:
@@ -231,12 +231,12 @@ public class RoomSidebar extends Panel {
 		roomFiles = new RoomFilePanel("tree", room);
 		selfRights = new SelfIconsPanel("icons", room.getClient(), room, true);
 		add(upload = new UploadDialog("upload", room, roomFiles));
-		add(kickDialog = new ConfirmableAjaxBorder("kickDialog", getString("603"), getString("605")) {
+		add(confirmKick = new ConfirmableAjaxBorder("confirm-kick", getString("603"), getString("605")) {
 			private static final long serialVersionUID = 1L;
 
 			@Override
 			protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-				room.kickUser(target, kickClient);
+				room.kickUser(target, kickedClient);
 			}
 		});
 		add(toggleRight, toggleActivity, roomAction);

Modified: openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java?rev=1768867&r1=1768866&r2=1768867&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserGroup.java Wed Nov  9 08:31:07 2016
@@ -104,7 +104,7 @@ public class TestUserGroup extends Abstr
 		checkEmptyGroup("dao.getByLogin(ldap)", userDao.getByLogin(u1.getLogin(), u1.getType(), u1.getDomainId()));
 	}
 
-	private void checkEmptyGroup(String prefix, User u) {
+	private static void checkEmptyGroup(String prefix, User u) {
 		assertNotNull(prefix + ":: Created user should be available", u);
 		assertNotNull(prefix + ":: List<GroupUser> for newly created user should not be null", u.getGroupUsers());
 		assertTrue(prefix + ":: List<GroupUser> for newly created user should be empty", u.getGroupUsers().isEmpty());