You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by vd...@apache.org on 2016/11/09 04:42:25 UTC
svn commit: r1768829 - in /openmeetings/application/trunk:
openmeetings-util/src/main/java/org/apache/openmeetings/util/message/
openmeetings-web/src/main/java/org/apache/openmeetings/web/common/
openmeetings-web/src/main/java/org/apache/openmeetings/w...
Author: vdegtyarev
Date: Wed Nov 9 04:42:24 2016
New Revision: 1768829
URL: http://svn.apache.org/viewvc?rev=1768829&view=rev
Log:
OPENMEETINGS-1376 partially fixed. Kick user from the room is added.
Merged revision(s) 1768828 from openmeetings/application/branches/3.2.x to trunk.
Added:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/CommonMessageDialog.html
- copied unchanged from r1768828, openmeetings/application/branches/3.2.x/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
- copied unchanged from r1768828, openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/CommonMessageDialog.java
Modified:
openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.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/sidebar/RoomSidebar.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
Modified: openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java?rev=1768829&r1=1768828&r2=1768829&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java (original)
+++ openmeetings/application/trunk/openmeetings-util/src/main/java/org/apache/openmeetings/util/message/RoomMessage.java Wed Nov 9 04:42:24 2016
@@ -45,6 +45,7 @@ public class RoomMessage implements IWeb
, requestRightAv
, requestRightMute
, requestRightExclusive
+ , kick
}
private final Date timestamp;
private final String uid;
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java?rev=1768829&r1=1768828&r2=1768829&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/ConfirmableAjaxBorder.java Wed Nov 9 04:42:24 2016
@@ -48,6 +48,10 @@ public abstract class ConfirmableAjaxBor
setOutputMarkupId(true);
}
+ public AbstractFormDialog<?> getDialog() {
+ return dialog;
+ }
+
@Override
protected void onInitialize() {
super.onInitialize();
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=1768829&r1=1768828&r2=1768829&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 04:42:24 2016
@@ -41,5 +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>
</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=1768829&r1=1768828&r2=1768829&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 04:42:24 2016
@@ -54,6 +54,7 @@ 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,6 +138,7 @@ public class RoomPanel extends BasePanel
}
};
private RedirectMessageDialog roomClosed;
+ private CommonMessageDialog kickClientDialog;
private RoomMenuPanel menu;
private RoomSidebar sidebar;
private ActivitiesPanel activities;
@@ -269,6 +271,13 @@ public class RoomPanel extends BasePanel
} else {
add(new WebMarkupContainer("nickname").setVisible(false));
}
+ add(kickClientDialog = new CommonMessageDialog("kickClientDialog", "606"){
+ private static final long serialVersionUID = 1L;
+ @Override
+ public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
+ setResponsePage(Application.get().getHomePage());
+ }
+ });
}
@Override
@@ -372,8 +381,17 @@ public class RoomPanel extends BasePanel
activities.remove(tm.getText(), handler);
}
break;
+ case kick:
+ {
+ String uid = ((TextRoomMessage)m).getText();
+ if (getClient().getUid().equals(uid)) {
+ handler.add(room.setVisible(false));
+ kickClientDialog.open(handler);
}
}
+ break;
+ }
+ }
}
super.onEvent(event);
}
@@ -530,6 +548,10 @@ public class RoomPanel extends BasePanel
broadcast(target, client);
}
+ public void kickUser(AjaxRequestTarget target, Client client) {
+ RoomPanel.broadcast(new TextRoomMessage(client.getRoomId(), client.getUserId(), Type.kick, client.getUid()));
+ }
+
public void broadcast(AjaxRequestTarget target, Client client) {
broadcast(new RoomMessage(getRoom().getId(), getUserId(), RoomMessage.Type.rightUpdated));
RoomBroadcaster.sendUpdatedClient(client);
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=1768829&r1=1768828&r2=1768829&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 04:42:24 2016
@@ -36,5 +36,6 @@
<div class="file list" wicket:id="tree"></div>
</wicket:fragment>
<div wicket:id="upload"></div>
+ <div wicket:id="kickDialog" />
</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=1768829&r1=1768828&r2=1768829&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 04:42:24 2016
@@ -32,7 +32,9 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.room.Room.RoomElement;
import org.apache.openmeetings.web.app.Client;
import org.apache.openmeetings.web.app.Client.Activity;
+import org.apache.openmeetings.web.common.ConfirmableAjaxBorder;
import org.apache.openmeetings.web.room.RoomPanel;
+import org.apache.openmeetings.web.room.RoomPanel.Action;
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
@@ -41,6 +43,7 @@ import org.apache.wicket.markup.head.IHe
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.PriorityHeaderItem;
import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Fragment;
@@ -71,7 +74,9 @@ public class RoomSidebar extends Panel {
private final UploadDialog upload;
private final RoomFilePanel roomFiles;
private final SelfIconsPanel selfRights;
+ private final ConfirmableAjaxBorder kickDialog;
private boolean showFiles;
+ private Client kickClient;
public enum Pod {
none
, right
@@ -85,11 +90,34 @@ public class RoomSidebar extends Panel {
item.add(new RoomClientPanel("user", item, room));
}
};
- private final AbstractDefaultAjaxBehavior action = new AbstractDefaultAjaxBehavior() {
+ private final AbstractDefaultAjaxBehavior roomAction = new AbstractDefaultAjaxBehavior() {
private static final long serialVersionUID = 1L;
@Override
protected void respond(AjaxRequestTarget target) {
+ try {
+ String uid = getRequest().getRequestParameters().getParameterValue(PARAM_UID).toString();
+ if (Strings.isEmpty(uid)) {
+ return;
+ }
+ if (room.getClient().hasRight(Right.moderator)) {
+ Action a = Action.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTION).toString());
+ kickClient = getOnlineClient(uid);
+ if (kickClient == null || a == null) {
+ return;
+ }
+ switch (a) {
+ case kick:
+ if ((!room.getClient().getUid().equals(kickClient.getUid()))) {
+ kickDialog.getDialog().open(target);
+ }
+ break;
+ default:
+ }
+ }
+ } catch (Exception e) {
+ log.error("Unexpected exception while toggle 'action'", e);
+ }
}
};
private final AbstractDefaultAjaxBehavior toggleRight = new AbstractDefaultAjaxBehavior() {
@@ -203,7 +231,15 @@ 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(toggleRight, toggleActivity, action);
+ add(kickDialog = new ConfirmableAjaxBorder("kickDialog", getString("603"), getString("605")) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
+ room.kickUser(target, kickClient);
+ }
+ });
+ add(toggleRight, toggleActivity, roomAction);
}
@Override
@@ -211,7 +247,7 @@ public class RoomSidebar extends Panel {
super.renderHead(response);
response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_TOGGLE_RIGHT, toggleRight, explicit(PARAM_RIGHT), explicit(PARAM_UID)), FUNC_TOGGLE_RIGHT)));
response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_TOGGLE_ACTIVITY, toggleActivity, explicit(PARAM_ACTIVITY), explicit(PARAM_UID), explicit(PARAM_POD)), FUNC_TOGGLE_ACTIVITY)));
- response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_ACTION, action, explicit(PARAM_ACTION), explicit(PARAM_UID)), FUNC_ACTION)));
+ response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction(FUNC_ACTION, roomAction, explicit(PARAM_ACTION), explicit(PARAM_UID)), FUNC_ACTION)));
}
private ListView<Client> updateUsers() {