Author: vdegtyarev
Date: Thu Jul 11 04:17:10 2013
New Revision: 1502110
URL: http://svn.apache.org/r1502110
Log:
OPENMEETINGS-695 is fixed
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsPanel.html
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsPanel.html?rev=1502110&r1=1502109&r2=1502110&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsPanel.html
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsPanel.html
Thu Jul 11 04:17:10 2013
@@ -20,14 +20,48 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
- <table style="border-collapse: collapse;">
- <tr wicket:id="list" style="background-color: rgb(248, 248,
248); border-bottom: 5px solid white;">
+ <table>
+ <tr>
+ <td style="vertical-align: top">
+ <table style="border-collapse: collapse;">
+ <tr wicket:id="list"
style="background-color: rgb(248, 248, 248); border-bottom: 5px solid white;">
+ <td>
+ <div
wicket:id="roomContainer">
+ <span
wicket:id="roomName">[room name]</span><br/>
+
<wicket:ommessage key="398" /> <span
wicket:id="curUsers"></span> / <span
+
wicket:id="totalUsers"></span> <span wicket:id="refresh"
+ class="ui-icon
ui-icon-arrowrefresh-1-n" style="display: inline-block"></span>
+ </div>
+ </td>
+ <td><button
wicket:id="enter"><wicket:ommessage key="131"/></button></td>
+ </tr>
+ </table>
+ </td>
<td>
- <span wicket:id="roomName">[room
name]</span><br/>
- <wicket:ommessage key="398" /> <span
wicket:id="curUsers"></span> / <span
- wicket:id="totalUsers"></span> <span
wicket:id="refresh"
- class="ui-icon ui-icon-arrowrefresh-1-n"
style="display: inline-block"></span></td>
- <td><button wicket:id="enter"><wicket:ommessage
key="131"/></button></td>
+ <!-- Users in this Room -->
+ <fieldset>
+ <div class="formelement">
+ <label><wicket:ommessage key="404" /></label>
+ </div>
+ <div class="formelement">
+ <label><wicket:ommessage key="270" /></label>
+ <span wicket:id="roomComment"></span>
+ </div>
+ <div class="formelement">
+ <label><wicket:ommessage key="407" /></label>
+ </div>
+ <div class="tableWrapper"
id="adminTable">
+ <table class="adminListTable">
+ <tbody
wicket:id="clientsContainer">
+ <tr wicket:id="clients">
+ <td
style="width: 50px; height:50px" ><div style="width: 50px; height:50px"><img
wicket:id="clientImage" width="50" height="50" /></div></td>
+ <td
style="width: 350px; height:50px"><div style="width: 350px; height:50px"><span
wicket:id="clientLogin"></span></div></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </fieldset>
+ </td>
</tr>
</table>
</wicket:panel>
Modified:
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
URL:
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsPanel.java?rev=1502110&r1=1502109&r2=1502110&view=diff
==============================================================================
---
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
(original)
+++
openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/rooms/RoomsPanel.java
Thu Jul 11 04:17:10 2013
@@ -18,23 +18,38 @@
*/
package org.apache.openmeetings.web.user.rooms;
+import java.io.File;
+import java.io.FileInputStream;
import java.util.List;
+import org.apache.openmeetings.data.conference.dao.RoomDao;
+import org.apache.openmeetings.data.user.dao.UsersDao;
+import org.apache.openmeetings.persistence.beans.room.Client;
import org.apache.openmeetings.persistence.beans.room.Room;
import org.apache.openmeetings.session.SessionManager;
+import org.apache.openmeetings.utils.OmFileHelper;
import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.common.UserPanel;
+import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.image.Image;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
+import org.apache.wicket.request.resource.ByteArrayResource;
+import org.apache.wicket.util.io.IOUtils;
public class RoomsPanel extends UserPanel {
private static final long serialVersionUID = -892281210307880052L;
+ final WebMarkupContainer clientsContainer;
+ final ListView<Client> clients;
+ Label roomComment;
+ List<Client> clientsInRoom = null;
+ long roomId = 0;
public RoomsPanel(String id, List<Room> rooms) {
super(id);
@@ -44,22 +59,79 @@ public class RoomsPanel extends UserPane
@Override
protected void populateItem(ListItem<Room> item) {
final Room r = item.getModelObject();
- item.add(new Label("roomName", r.getName()));
+ WebMarkupContainer roomContainer;
+ item.add((roomContainer = new
WebMarkupContainer("roomContainer")).add(new AjaxEventBehavior("onclick"){
+ private static final long
serialVersionUID = 1L;
+
+ @Override
+ protected void
onEvent(AjaxRequestTarget target) {
+ roomId = r.getRooms_id();
+ updateRoomDetails(target);
+ }
+ }));
+ roomContainer.add(new Label("roomName",
r.getName()));
final IModel<Integer> curUsersModel = new
Model<Integer>(Application.getBean(SessionManager.class).getClientListByRoom(r.getRooms_id()).size());
final Label curUsers = new Label("curUsers",
curUsersModel);
- item.add(curUsers.setOutputMarkupId(true));
- item.add(new Label("totalUsers",
r.getNumberOfPartizipants()));
+
roomContainer.add(curUsers.setOutputMarkupId(true));
+ roomContainer.add(new Label("totalUsers",
r.getNumberOfPartizipants()));
item.add(new
WebMarkupContainer("enter").add(new RoomEnterBehavior(r.getRooms_id())));
- item.add(new AjaxLink<Void>("refresh") {
+ roomContainer.add(new AjaxLink<Void>("refresh")
{
private static final long
serialVersionUID = -3426813755917489787L;
@Override
public void onClick(AjaxRequestTarget
target) {
+ roomId = r.getRooms_id();
curUsersModel.setObject(Application.getBean(SessionManager.class).getClientListByRoom(r.getRooms_id()).size());
target.add(curUsers);
+ updateRoomDetails(target);
}
});
}
});
+
+ // Users in this Room
+ roomComment = new Label("roomComment", Model.of(""));
+ add(roomComment.setOutputMarkupId(true));
+ 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();
+ final Long userId = client.getUser_id();
+ item.add(new Image("clientImage", new
ByteArrayResource("image/jpeg") {
+ private static final long
serialVersionUID = 6039580072791941591L;
+
+ @Override
+ protected ResourceResponse
newResourceResponse(Attributes attributes) {
+ ResourceResponse rr =
super.newResourceResponse(attributes);
+ rr.disableCaching();
+ return rr;
+ }
+
+ @Override
+ protected byte[] getData(Attributes
attributes) {
+ String uri =
Application.getBean(UsersDao.class).get(userId).getPictureuri();
+ File img =
OmFileHelper.getUserProfilePicture(userId, uri);
+ try {
+ return
IOUtils.toByteArray(new FileInputStream(img));
+ } catch (Exception e) {
+ }
+ return null;
+ }
+ }));
+ item.add(new Label("clientLogin", "" +
client.getUsername()));
+ }
+ };
+
add(clientsContainer.add(clients.setOutputMarkupId(true)).setOutputMarkupId(true));
+ }
+
+ void updateRoomDetails(AjaxRequestTarget target) {
+ final List<Client> clientsInRoom =
Application.getBean(SessionManager.class).getClientListByRoom(roomId);
+ clients.setDefaultModelObject(clientsInRoom);
+ Room room = Application.getBean(RoomDao.class).get(roomId);
+ roomComment.setDefaultModel(Model.of(room.getComment()));
+ target.add(clientsContainer, roomComment);
}
}