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 2013/06/28 10:35:26 UTC
svn commit: r1497678 - in
/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms:
RoomForm.java RoomsPanel.html
Author: vdegtyarev
Date: Fri Jun 28 08:35:25 2013
New Revision: 1497678
URL: http://svn.apache.org/r1497678
Log:
OPENMEETINGS-673: "Users in this room" is added
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java?rev=1497678&r1=1497677&r2=1497678&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomForm.java Fri Jun 28 08:35:25 2013
@@ -19,6 +19,7 @@
package org.apache.openmeetings.web.admin.rooms;
import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getSid;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
import java.util.ArrayList;
@@ -31,11 +32,14 @@ import org.apache.openmeetings.data.conf
import org.apache.openmeetings.data.conference.dao.RoomModeratorsDao;
import org.apache.openmeetings.data.user.OrganisationManager;
import org.apache.openmeetings.persistence.beans.domain.Organisation;
+import org.apache.openmeetings.persistence.beans.room.Client;
import org.apache.openmeetings.persistence.beans.room.Room;
import org.apache.openmeetings.persistence.beans.room.RoomModerator;
import org.apache.openmeetings.persistence.beans.room.RoomOrganisation;
import org.apache.openmeetings.persistence.beans.room.RoomType;
import org.apache.openmeetings.persistence.beans.user.User;
+import org.apache.openmeetings.remote.UserService;
+import org.apache.openmeetings.session.SessionManager;
import org.apache.openmeetings.web.admin.AdminCommonUserForm;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
@@ -70,8 +74,11 @@ public class RoomForm extends AdminCommo
private final TextField<String> confno;
private final CheckBox sipEnabled;
final WebMarkupContainer moderatorContainer;
+ final WebMarkupContainer clientsContainer;
final ListView<RoomModerator> moderators;
- List<RoomModerator> result = null;
+ final ListView<Client> clients;
+ List<RoomModerator> moderatorsInRoom = null;
+ List<Client> clientsInRoom = null;
public RoomForm(String id, WebMarkupContainer roomList, final Room room) {
super(id, new CompoundPropertyModel<Room>(room));
this.roomList = roomList;
@@ -140,7 +147,41 @@ public class RoomForm extends AdminCommo
add(new CheckBox("filesOpened"));
add(new CheckBox("autoVideoSelect"));
- moderators = new ListView<RoomModerator>("moderators", result) {
+ // Users in this Room
+ clientsContainer = new WebMarkupContainer("clientsContainer");
+ clients = new ListView<Client>("clients", clientsInRoom){
+ private static final long serialVersionUID = 8542589945574690054L;
+
+ @Override
+ protected void populateItem(final ListItem<Client> item) {
+ Client client = item.getModelObject();
+ item.add(new Label("clientId", "" + client.getId()))
+ .add(new Label("clientLogin", "" + client.getUsername()))
+ .add(new WebMarkupContainer("clientDelete").add(new AjaxEventBehavior("onclick"){
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
+ super.updateAjaxAttributes(attributes);
+ attributes.getAjaxCallListeners().add(new ConfirmCallListener(833L));
+ }
+
+ @Override
+ protected void onEvent(AjaxRequestTarget target) {
+ Client c = item.getModelObject();
+ getBean(UserService.class).kickUserByStreamId(getSid(), c.getStreamid()
+ , c.getServer() == null ? 0 : c.getServer().getId());
+
+ updatClients(target);
+ }
+ }));
+ }
+ };
+ add(clientsContainer.add(clients.setOutputMarkupId(true)).setOutputMarkupId(true));
+
+ // Moderators
+ moderators = new ListView<RoomModerator>("moderators", moderatorsInRoom) {
private static final long serialVersionUID = -7935197812421549677L;
@Override
@@ -202,13 +243,19 @@ public class RoomForm extends AdminCommo
OmAjaxFormValidatingBehavior.addToAllFormComponents(this, "keydown", Duration.ONE_SECOND);
}
- public void updateModerators(AjaxRequestTarget target) {
+ void updateModerators(AjaxRequestTarget target) {
long roomId = (getModelObject().getRooms_id() != null ? getModelObject().getRooms_id() : 0);
RoomModeratorsDao moderatorsDao = getBean(RoomModeratorsDao.class);
- final List<RoomModerator> result = moderatorsDao.getRoomModeratorByRoomId(roomId);
- moderators.setDefaultModelObject(result);
+ final List<RoomModerator> moderatorsInRoom = moderatorsDao.getRoomModeratorByRoomId(roomId);
+ moderators.setDefaultModelObject(moderatorsInRoom);
target.add(moderatorContainer);
}
+ void updatClients(AjaxRequestTarget target) {
+ long roomId = (getModelObject().getRooms_id() != null ? getModelObject().getRooms_id() : 0);
+ final List<Client> clientsInRoom = Application.getBean(SessionManager.class).getClientListByRoom(roomId);
+ clients.setDefaultModelObject(clientsInRoom);
+ target.add(clientsContainer);
+ }
@Override
protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) {
@@ -269,6 +316,7 @@ public class RoomForm extends AdminCommo
confno.setEnabled(sipEnabled.getModelObject());
target.add(confno);
updateModerators(target);
+ updatClients(target);
target.appendJavaScript("omRoomPanelInit();");
}
@@ -278,7 +326,7 @@ public class RoomForm extends AdminCommo
long roomId = getModelObject().getRooms_id();
RoomModeratorsDao moderatorsDao = getBean(RoomModeratorsDao.class);
List<RoomModerator> moderators = moderatorsDao.getRoomModeratorByRoomId(roomId);
- result = (result == null) ? new ArrayList<RoomModerator>() : result;
+ moderatorsInRoom = (moderatorsInRoom == null) ? new ArrayList<RoomModerator>() : moderatorsInRoom;
for (User u : usersToAdd) {
boolean found = false;
for ( RoomModerator rm : moderators) {
@@ -294,7 +342,7 @@ public class RoomForm extends AdminCommo
rModerator.setStarttime(new Date());
rModerator.setDeleted(false);
rModerator.setRoomId(roomId);
- result.add(rModerator);
+ moderatorsInRoom.add(rModerator);
moderatorsDao.addRoomModeratorByUserId(u, false, roomId);
}
}
Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html?rev=1497678&r1=1497677&r2=1497678&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/admin/rooms/RoomsPanel.html Fri Jun 28 08:35:25 2013
@@ -191,6 +191,27 @@
<!-- Users in this Room -->
<fieldset>
+ <legend><wicket:ommessage key="587" /></legend>
+ <table class="adminListTable">
+ <thead>
+ <tr>
+ <th class="three_column_layout_column1"><wicket:ommessage key="588" /></th>
+ <th class="three_column_layout_column2"><wicket:ommessage key="589" /></th>
+ <th class="three_column_layout_column3"><wicket:ommessage key="590" /></th>
+ </tr>
+ </thead>
+ </table>
+ <div class="tableWrapperSmall" id="adminTableSmall">
+ <table class="adminListTable">
+ <tbody wicket:id="clientsContainer">
+ <tr wicket:id="clients">
+ <td class="three_column_layout_column1"><div class="three_column_layout_divcolumn1"><span wicket:id="clientId"></span></div></td>
+ <td class="three_column_layout_column2"><div class="three_column_layout_divcolumn2"><span wicket:id="clientLogin"></span></div></td>
+ <td class="three_column_layout_column3"><div class="formCancelButton" wicket:id="clientDelete" wicket:ommessage="title:604"><input/></div></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
</fieldset>
<!-- Default moderators -->