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 -->