This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/master by this push:
new 4494c3e4e [OPENMEETINGS-2840] hidden fields are removed
4494c3e4e is described below
commit 4494c3e4e9bd8d38356f8807a4a29d3ba960a7cb
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Tue Sep 15 21:20:04 2026 +0700
[OPENMEETINGS-2840] hidden fields are removed
---
.../openmeetings/db/entity/basic/Client.java | 17 +++++
.../openmeetings/web/common/upload/UploadForm.java | 2 +-
.../apache/openmeetings/web/room/RoomPanel.java | 2 +-
.../web/room/activities/ActivitiesPanel.java | 40 +++++++-----
.../web/room/sidebar/RoomFilePanel.java | 10 +--
.../sidebar/RoomFileUploadResourceReference.java | 13 ++--
.../openmeetings/web/room/sidebar/RoomSidebar.java | 74 ++++++++++++----------
.../web/room/sidebar/RoomUploadForm.html | 4 --
.../web/room/sidebar/RoomUploadForm.java | 35 ++++------
.../web/room/sidebar/UploadDialog.java | 6 +-
10 files changed, 109 insertions(+), 94 deletions(-)
diff --git
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
index 356f9b751..58cd9af06 100644
---
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
+++
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
@@ -22,6 +22,7 @@ import static java.util.UUID.randomUUID;
import static org.apache.openmeetings.util.OmFileHelper.SIP_USER_ID;
import java.util.Date;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -67,6 +68,7 @@ public class Client implements IDataProviderEntity, IWsClient
{
private String remoteAddress;
private final Set<Right> rights = ConcurrentHashMap.newKeySet();
private final Map<String, StreamDesc> streams = new
ConcurrentHashMap<>();
+ private final Map<String, Object> props = new HashMap<>();
private final Date connectedSince;
private int cam = -1;
private int mic = -1;
@@ -133,6 +135,7 @@ public class Client implements IDataProviderEntity,
IWsClient {
public void clear() {
rights.clear();
streams.clear();
+ props.clear();
}
public boolean hasRight(Right right) {
@@ -397,12 +400,26 @@ public class Client implements IDataProviderEntity,
IWsClient {
}
).forEach(sd -> streams.put(sd.getUid(), sd));
}
+ synchronized (props) {
+ Map<String, Object> pp = new HashMap<>(c.props);
+ props.clear();
+ props.putAll(pp);
+ }
cam = c.cam;
mic = c.mic;
width = c.width;
height = c.height;
}
+ public Map<String, Object> getCustomProps() {
+ return props;
+ }
+
+ public long getPropInt64(String name, long def) {
+ Object val = props.get(name);
+ return val instanceof Long l ? l : def;
+ }
+
@Override
public int hashCode() {
final int prime = 31;
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/upload/UploadForm.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/upload/UploadForm.java
index 738441b05..8db003e68 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/upload/UploadForm.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/upload/UploadForm.java
@@ -83,7 +83,7 @@ public abstract class UploadForm extends Panel {
public void show(IPartialPageRequestHandler handler) {
handler.add(form.setVisible(true));
- handler.appendJavaScript("Upload.bindUpload(\"" +
uploadLocation() + "\", "+ extraBindFunc() + ", " + onCompleteFunc() + ");");
+ handler.appendJavaScript("Upload.bindUpload(\"" +
uploadLocation() + "\", " + extraBindFunc() + ", " + onCompleteFunc() + ");");
}
@Override
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index fd823ab5a..1436d30eb 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -328,7 +328,7 @@ public class RoomPanel extends BasePanel {
room.add(wbArea.add(wb));
}
room.add(roomEnter);
- room.add(sidebar = new RoomSidebar("sidebar", this));
+ room.add(sidebar = new RoomSidebar("sidebar"));
add(roomClosed = new RedirectMessageDialog("room-closed",
"1098", r.isClosed(), r.getRedirectURL()));
if (r.isClosed()) {
room.setVisible(false);
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
index a0f1a65cd..b0bb3d526 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/activities/ActivitiesPanel.java
@@ -73,12 +73,12 @@ public class ActivitiesPanel extends Panel {
}
private static final FastDateFormat df =
FastDateFormat.getInstance("HH:mm:ss");
private final Map<String, Activity> activities = new LinkedHashMap<>();
- private final RoomPanel room;
private final AbstractDefaultAjaxBehavior actionBehavior = new
AbstractDefaultAjaxBehavior() {
private static final long serialVersionUID = 1L;
private TextRoomMessage getRemoveMsg(String id) {
- return new TextRoomMessage(room.getRoom().getId(),
room.getClient(), RoomMessage.Type.ACTIVITY_REMOVE, id);
+ final RoomPanel rp = getRoomPanel();
+ return new TextRoomMessage(rp.getRoom().getId(),
rp.getClient(), RoomMessage.Type.ACTIVITY_REMOVE, id);
}
@Override
@@ -87,11 +87,12 @@ public class ActivitiesPanel extends Panel {
return;
}
try {
+ final RoomPanel rp = getRoomPanel();
String id =
getRequest().getRequestParameters().getParameterValue(PARAM_ID).toString();
long roomId =
getRequest().getRequestParameters().getParameterValue(PARAM_ROOM_ID).toLong();
Action act =
Action.of(getRequest().getRequestParameters().getParameterValue(ACTION));
Activity a = activities.get(id);
- if (a == null ||
!room.getRoom().getId().equals(roomId)) {
+ if (a == null ||
!rp.getRoom().getId().equals(roomId)) {
log.error("It seems like we are being
hacked!!!!");
return;
}
@@ -100,45 +101,45 @@ public class ActivitiesPanel extends Panel {
remove(target, id);
break;
case DECLINE:
- if
(room.getClient().hasRight(Right.MODERATOR)) {
+ if
(rp.getClient().hasRight(Right.MODERATOR)) {
sendRoom(getRemoveMsg(id));
}
break;
case ACCEPT:
Client client =
cm.get(a.getUid());
- if
(room.getClient().hasRight(Right.MODERATOR) && client != null &&
client.getRoom() != null && roomId == client.getRoom().getId()) {
+ if
(rp.getClient().hasRight(Right.MODERATOR) && client != null && client.getRoom()
!= null && roomId == client.getRoom().getId()) {
switch (a.getType()) {
case
REQ_RIGHT_MODERATOR:
sendRoom(getRemoveMsg(id));
-
room.allowRight(client, Right.MODERATOR);
+
rp.allowRight(client, Right.MODERATOR);
break;
case
REQ_RIGHT_AV:
sendRoom(getRemoveMsg(id));
-
room.allowRight(client, Right.AUDIO, Right.VIDEO);
+
rp.allowRight(client, Right.AUDIO, Right.VIDEO);
break;
case
REQ_RIGHT_PRESENTER:
sendRoom(getRemoveMsg(id));
-
room.allowRight(client, Right.PRESENTER);
+
rp.allowRight(client, Right.PRESENTER);
break;
case
REQ_RIGHT_WB:
sendRoom(getRemoveMsg(id));
-
room.allowRight(client, Right.WHITEBOARD);
+
rp.allowRight(client, Right.WHITEBOARD);
break;
case
REQ_RIGHT_SHARE:
sendRoom(getRemoveMsg(id));
-
room.allowRight(client, Right.SHARE);
+
rp.allowRight(client, Right.SHARE);
break;
case
REQ_RIGHT_REMOTE:
sendRoom(getRemoveMsg(id));
-
room.allowRight(client, Right.REMOTE_CONTROL);
+
rp.allowRight(client, Right.REMOTE_CONTROL);
break;
case
REQ_RIGHT_A:
sendRoom(getRemoveMsg(id));
-
room.allowRight(client, Right.AUDIO);
+
rp.allowRight(client, Right.AUDIO);
break;
case
REQ_RIGHT_MUTE_OTHERS:
sendRoom(getRemoveMsg(id));
-
room.allowRight(client, Right.MUTE_OTHERS);
+
rp.allowRight(client, Right.MUTE_OTHERS);
break;
default:
break;
@@ -163,15 +164,19 @@ public class ActivitiesPanel extends Panel {
public ActivitiesPanel(String id, RoomPanel room) {
super(id);
- this.room = room;
setVisible(!room.getRoom().isHidden(RoomElement.ACTIVITIES));
setOutputMarkupPlaceholderTag(true);
setMarkupId(id);
add(actionBehavior);
}
+ RoomPanel getRoomPanel() {
+ return findParent(RoomPanel.class);
+ }
+
private boolean shouldSkip(final boolean self, final Activity a) {
- return !self && a.getType().isAction() &&
!room.getClient().hasRight(Right.MODERATOR);
+ final RoomPanel rp = getRoomPanel();
+ return !self && a.getType().isAction() &&
!rp.getClient().hasRight(Right.MODERATOR);
}
public void add(Activity a, IPartialPageRequestHandler handler) {
@@ -237,11 +242,12 @@ public class ActivitiesPanel extends Panel {
.put("action", a.getType().isAction())
.put("find", false);
+ final RoomPanel rp = getRoomPanel();
switch (a.getType()) {
case REQ_RIGHT_MODERATOR, REQ_RIGHT_PRESENTER,
REQ_RIGHT_WB, REQ_RIGHT_SHARE, REQ_RIGHT_REMOTE
, REQ_RIGHT_A, REQ_RIGHT_AV,
REQ_RIGHT_MUTE_OTHERS:
- aobj.put("accept",
room.getClient().hasRight(Right.MODERATOR));
- aobj.put("decline",
room.getClient().hasRight(Right.MODERATOR));
+ aobj.put("accept",
rp.getClient().hasRight(Right.MODERATOR));
+ aobj.put("decline",
rp.getClient().hasRight(Right.MODERATOR));
break;
case REQ_RIGHT_HAVE_QUESTION:
aobj.put("find", !self);
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
index 18d69db87..a42751832 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFilePanel.java
@@ -38,7 +38,6 @@ import jakarta.inject.Inject;
public class RoomFilePanel extends FileTreePanel {
private static final long serialVersionUID = 1L;
- private final RoomPanel room;
@Inject
private FileItemDao fileDao;
@@ -47,14 +46,17 @@ public class RoomFilePanel extends FileTreePanel {
public RoomFilePanel(String id, RoomPanel room, NameDialog addFolder) {
super(id, room.getRoom().getId(), addFolder);
- this.room = room;
+ }
+
+ RoomPanel getRoomPanel() {
+ return findParent(RoomPanel.class);
}
@Override
public void updateSizes() {
RecordingContainerData sizeData =
recDao.getContainerData(getUserId());
long userSize = fileDao.getOwnSize(getUserId());
- long roomSize = fileDao.getRoomSize(room.getRoom().getId());
+ long roomSize =
fileDao.getRoomSize(getRoomPanel().getRoom().getId());
if (sizeData != null) {
userSize += sizeData.getUserHomeSize();
roomSize += sizeData.getPublicFileSize();
@@ -77,6 +79,6 @@ public class RoomFilePanel extends FileTreePanel {
protected Component getUpload() {
return super.getUpload()
.setVisible(true)
- .add(AjaxEventBehavior.onEvent(EVT_CLICK,
target -> room.getSidebar().showUpload(target)));
+ .add(AjaxEventBehavior.onEvent(EVT_CLICK,
target -> getRoomPanel().getSidebar().showUpload(target)));
}
}
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFileUploadResourceReference.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFileUploadResourceReference.java
index a77192847..ad5e93dd7 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFileUploadResourceReference.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomFileUploadResourceReference.java
@@ -87,15 +87,16 @@ public class RoomFileUploadResourceReference extends
UploadResourceReference {
protected void processFiles(Client c, List<FileItem> fileItems, String
uuid, MultipartServletWebRequest multiPartRequest) {
final boolean toWb =
multiPartRequest.getPostParameters().getParameterValue(PARAM_TO_WB_NAME).toBoolean(false);
final boolean clean =
multiPartRequest.getPostParameters().getParameterValue(PARAM_CLEAN_NAME).toBoolean(false);
- final long lastSelectedId =
multiPartRequest.getPostParameters().getParameterValue(PARAM_LAST_SELECTED_ID).toLong(-1L);
- final long lastSelectedRoom =
multiPartRequest.getPostParameters().getParameterValue(PARAM_LAST_SELECTED_ROOM).toLong(-1L);
- final long lastSelectedOwner =
multiPartRequest.getPostParameters().getParameterValue(PARAM_LAST_SELECTED_OWNER).toLong(-1L);
- final long lastSelectedGroup =
multiPartRequest.getPostParameters().getParameterValue(PARAM_LAST_SELECTED_GROUP).toLong(-1L);
- startRunnable(() -> convertAll(c, fileItems, uuid, toWb, clean,
lastSelectedId, lastSelectedRoom, lastSelectedOwner, lastSelectedGroup));
+ startRunnable(() -> convertAll(c, fileItems, uuid, toWb,
clean));
}
- private void convertAll(Client c, List<FileItem> files, String uuid,
boolean toWb, boolean clean, long lastSelectedId, long lastSelectedRoom, long
lastSelectedOwner, long lastSelectedGroup) {
+ private void convertAll(Client c, List<FileItem> files, String uuid,
boolean toWb, boolean clean) {
+ final long lastSelectedId =
c.getPropInt64(PARAM_LAST_SELECTED_ID, -1L);
+ final long lastSelectedRoom =
c.getPropInt64(PARAM_LAST_SELECTED_ROOM, -1L);
+ final long lastSelectedOwner =
c.getPropInt64(PARAM_LAST_SELECTED_OWNER, -1L);
+ final long lastSelectedGroup =
c.getPropInt64(PARAM_LAST_SELECTED_GROUP, -1L);
+
final BaseFileItem parent = fileDao.get(lastSelectedId);
final long langId = getLangId(c);
final long totalSize =
files.stream().mapToLong(FileItem::getSize).sum();
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
index 4f8c573a7..64b910047 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
@@ -54,64 +54,69 @@ public class RoomSidebar extends Panel {
public static final String PARAM_RIGHT = "right";
public static final String PARAM_UID = "uid";
public static final String PARAM_SETTINGS = "s";
- private final RoomPanel room;
- private UploadDialog upload;
- private RoomFilePanel roomFiles;
- private final WebMarkupContainer fileTab = new
WebMarkupContainer("file-tab");
private boolean showFiles;
- private VideoSettings settings = new VideoSettings("settings");
- private ActivitiesPanel activities;
@Inject
private ClientManager cm;
- public RoomSidebar(String id, final RoomPanel room) {
+ public RoomSidebar(String id) {
super(id);
- this.room = room;
}
@Override
protected void onInitialize() {
super.onInitialize();
+ final RoomPanel room = getRoomPanel();
final NameDialog addFolder = new NameDialog("addFolder",
getString("712")) {
private static final long serialVersionUID = 1L;
@Override
protected void onSubmit(AjaxRequestTarget target) {
- roomFiles.createFolder(target,
getModelObject());
+ getFilesPanel().createFolder(target,
getModelObject());
super.onSubmit(target);
}
};
- roomFiles = new RoomFilePanel("tree", room, addFolder);
+ final RoomFilePanel roomFiles = new RoomFilePanel("tree", room,
addFolder);
+ final WebMarkupContainer fileTab = new
WebMarkupContainer("file-tab");
add(fileTab.setVisible(!room.isInterview()),
roomFiles.setVisible(!room.isInterview()));
- add(addFolder, settings);
- add(upload = new UploadDialog("upload", roomFiles));
+ add(addFolder, new VideoSettings("settings"));
+ add(new UploadDialog("upload"));
updateShowFiles(null);
- add(activities = new ActivitiesPanel("activities", room));
+ add(new ActivitiesPanel("activities", room));
}
private void updateShowFiles(IPartialPageRequestHandler handler) {
- if (room.isInterview()) {
+ final RoomPanel rp = getRoomPanel();
+ if (rp.isInterview()) {
return;
}
- showFiles = !room.getRoom().isHidden(RoomElement.FILES) &&
room.getClient().hasRight(Right.PRESENTER);
- roomFiles.setReadOnly(!showFiles, handler);
+ showFiles = !rp.getRoom().isHidden(RoomElement.FILES) &&
rp.getClient().hasRight(Right.PRESENTER);
+ getFilesPanel().setReadOnly(!showFiles, handler);
}
public void update(IPartialPageRequestHandler handler) {
- if (room.getRoom() == null || room.getClient() == null) {
+ final RoomPanel rp = getRoomPanel();
+ if (rp.getRoom() == null || rp.getClient() == null) {
return;
}
updateShowFiles(handler);
}
public void updateFiles(IPartialPageRequestHandler handler) {
- roomFiles.update(handler);
+ getFilesPanel().update(handler);
+ }
+
+ RoomPanel getRoomPanel() {
+ return findParent(RoomPanel.class);
}
public RoomFilePanel getFilesPanel() {
- return roomFiles;
+ return (RoomFilePanel)get("tree");
+ }
+
+ ActivitiesPanel getActivities() {
+ return (ActivitiesPanel)get("activities");
}
public boolean isShowFiles() {
@@ -119,7 +124,7 @@ public class RoomSidebar extends Panel {
}
public void showUpload(IPartialPageRequestHandler handler) {
- upload.show(handler);
+ ((UploadDialog)get("upload")).show(handler);
}
public void setFilesActive(IPartialPageRequestHandler handler) {
@@ -127,11 +132,11 @@ public class RoomSidebar extends Panel {
}
public void addActivity(Activity a, IPartialPageRequestHandler handler)
{
- activities.add(a, handler);
+ getActivities().add(a, handler);
}
public void removeActivity(String uid, IPartialPageRequestHandler
handler) {
- activities.remove(handler, uid);
+ getActivities().remove(handler, uid);
}
public void roomAction(IPartialPageRequestHandler handler, JSONObject
o) {
@@ -140,12 +145,13 @@ public class RoomSidebar extends Panel {
if (Strings.isEmpty(uid)) {
return;
}
- Client self = room.getClient();
+ final RoomPanel rp = getRoomPanel();
+ Client self = rp.getClient();
Action a = Action.of(o.getString(PARAM_ACTION));
switch (a) {
case KICK:
if (self.hasRight(Right.MODERATOR)) {
- final Client kickedClient =
cm.getInRoom(uid, room.getRoom().getId());
+ final Client kickedClient =
cm.getInRoom(uid, rp.getRoom().getId());
if (kickedClient == null) {
return;
}
@@ -155,8 +161,8 @@ public class RoomSidebar extends Panel {
}
break;
case MUTE_OTHERS:
- if (self.hasRight(Right.MUTE_OTHERS) &&
cm.getInRoom(uid, room.getRoom().getId()) != null) {
- WebSocketHelper.sendRoom(new
TextRoomMessage(room.getRoom().getId(), self, RoomMessage.Type.MUTE_OTHERS,
uid));
+ if (self.hasRight(Right.MUTE_OTHERS) &&
cm.getInRoom(uid, rp.getRoom().getId()) != null) {
+ WebSocketHelper.sendRoom(new
TextRoomMessage(rp.getRoom().getId(), self, RoomMessage.Type.MUTE_OTHERS, uid));
}
break;
case MUTE:
@@ -173,12 +179,13 @@ public class RoomSidebar extends Panel {
}
private void muteRoomAction(String uid, Client self, JSONObject o) {
- Client c = cm.getInRoom(uid, room.getRoom().getId());
+ final RoomPanel rp = getRoomPanel();
+ Client c = cm.getInRoom(uid, rp.getRoom().getId());
if (c == null || !c.has(Client.Activity.AUDIO)) {
return;
}
if (self.hasRight(Right.MODERATOR) ||
self.getUid().equals(c.getUid())) {
- WebSocketHelper.sendRoom(new
TextRoomMessage(room.getRoom().getId(), self, RoomMessage.Type.MUTE
+ WebSocketHelper.sendRoom(new
TextRoomMessage(rp.getRoom().getId(), self, RoomMessage.Type.MUTE
, new JSONObject()
.put("sid",
self.getSid())
.put(PARAM_UID, uid)
@@ -187,22 +194,23 @@ public class RoomSidebar extends Panel {
}
private void toggleRight(IPartialPageRequestHandler handler, Client
self, String uid, JSONObject o) {
+ final RoomPanel rp = getRoomPanel();
try {
Right right = Right.valueOf(o.getString(PARAM_RIGHT));
if (self.hasRight(Right.MODERATOR)) {
- Client client = cm.getInRoom(uid,
room.getRoom().getId());
+ Client client = cm.getInRoom(uid,
rp.getRoom().getId());
if (client == null) {
return;
}
if (client.hasRight(right)) {
- room.denyRight(client, right);
+ rp.denyRight(client, right);
} else if (Right.VIDEO == right) {
- room.allowRight(client, Right.AUDIO,
right);
+ rp.allowRight(client, Right.AUDIO,
right);
} else {
- room.allowRight(client, right);
+ rp.allowRight(client, right);
}
} else {
- room.requestRight(right, handler);
+ rp.requestRight(right, handler);
}
} catch (Exception e) {
log.error("Unexpected exception while toggle 'right'",
e);
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomUploadForm.html
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomUploadForm.html
index 756b55a84..c9014d27d 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomUploadForm.html
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomUploadForm.html
@@ -30,9 +30,5 @@
<label for="room-upload-clean"
class="form-check-label"><wicket:message key="62"/></label>
</div>
</div>
- <input wicket:id="lastSelectedId" name="room-upload-last-selected-id"
type="hidden" value=""/>
- <input wicket:id="lastSelectedRoom"
name="room-upload-last-selected-room" type="hidden" value=""/>
- <input wicket:id="lastSelectedOwner"
name="room-upload-last-selected-owner" type="hidden" value=""/>
- <input wicket:id="lastSelectedGroup"
name="room-upload-last-selected-group" type="hidden" value=""/>
</wicket:extend>
</html>
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomUploadForm.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomUploadForm.java
index 8039f0427..9cea1b148 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomUploadForm.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomUploadForm.java
@@ -22,51 +22,38 @@ import static
org.apache.openmeetings.web.room.sidebar.RoomFileUploadResourceRef
import static
org.apache.openmeetings.web.room.sidebar.RoomFileUploadResourceReference.PARAM_LAST_SELECTED_ID;
import static
org.apache.openmeetings.web.room.sidebar.RoomFileUploadResourceReference.PARAM_LAST_SELECTED_OWNER;
import static
org.apache.openmeetings.web.room.sidebar.RoomFileUploadResourceReference.PARAM_LAST_SELECTED_ROOM;
-import static org.apache.openmeetings.util.OpenmeetingsVariables.ATTR_VALUE;
+import org.apache.openmeetings.db.entity.basic.Client;
import org.apache.openmeetings.db.entity.file.BaseFileItem;
import org.apache.openmeetings.web.common.upload.UploadForm;
-import org.apache.wicket.AttributeModifier;
+import org.apache.openmeetings.web.room.RoomPanel;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.markup.head.IHeaderResponse;
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.request.cycle.RequestCycle;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
public class RoomUploadForm extends UploadForm {
private static final long serialVersionUID = 1L;
- private final WebMarkupContainer lastSelectedId = new
WebMarkupContainer("lastSelectedId");
- private final WebMarkupContainer lastSelectedRoom = new
WebMarkupContainer("lastSelectedRoom"); // required for "fake" root
- private final WebMarkupContainer lastSelectedOwner = new
WebMarkupContainer("lastSelectedOwner"); // required for "fake" root
- private final WebMarkupContainer lastSelectedGroup = new
WebMarkupContainer("lastSelectedGroup"); // required for "fake" root
- private final RoomFilePanel roomFiles;
- public RoomUploadForm(String id, RoomFilePanel roomFiles) {
+ public RoomUploadForm(String id) {
super(id, "" + RequestCycle.get().urlFor(new
RoomFileUploadResourceReference(), new PageParameters()));
- this.roomFiles = roomFiles;
- }
-
- @Override
- protected void onInitialize() {
- super.onInitialize();
-
form.add(lastSelectedId.setMarkupId(PARAM_LAST_SELECTED_ID).setOutputMarkupId(true));
-
form.add(lastSelectedRoom.setMarkupId(PARAM_LAST_SELECTED_ROOM).setOutputMarkupId(true));
-
form.add(lastSelectedOwner.setMarkupId(PARAM_LAST_SELECTED_OWNER).setOutputMarkupId(true));
-
form.add(lastSelectedGroup.setMarkupId(PARAM_LAST_SELECTED_GROUP).setOutputMarkupId(true));
}
@Override
public void show(IPartialPageRequestHandler handler) {
- BaseFileItem last = roomFiles.getLastSelected();
+ final RoomPanel rp = findParent(RoomPanel.class);
+ final BaseFileItem last =
rp.getSidebar().getFilesPanel().getLastSelected();
+ Client c = rp.getClient();
+ c.getCustomProps().clear();
if (last.getId() == null) {
-
lastSelectedRoom.add(AttributeModifier.replace(ATTR_VALUE, last.getRoomId()));
-
lastSelectedOwner.add(AttributeModifier.replace(ATTR_VALUE, last.getOwnerId()));
-
lastSelectedGroup.add(AttributeModifier.replace(ATTR_VALUE, last.getGroupId()));
+ c.getCustomProps().put(PARAM_LAST_SELECTED_ROOM,
last.getRoomId());
+ c.getCustomProps().put(PARAM_LAST_SELECTED_OWNER,
last.getOwnerId());
+ c.getCustomProps().put(PARAM_LAST_SELECTED_GROUP,
last.getGroupId());
} else {
-
lastSelectedId.add(AttributeModifier.replace(ATTR_VALUE, last.getId()));
+ c.getCustomProps().put(PARAM_LAST_SELECTED_ID,
last.getId());
}
super.show(handler);
}
diff --git
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
index 3d2d3ea88..55105c659 100644
---
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
+++
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
@@ -30,11 +30,9 @@ public class UploadDialog extends Modal<String> {
private static final long serialVersionUID = 1L;
static final String DIALOG_CLASS = "room-file-upload-dlg";
private RoomUploadForm wsUpload;
- private final RoomFilePanel roomFiles;
- public UploadDialog(String id, RoomFilePanel roomFiles) {
+ public UploadDialog(String id) {
super(id);
- this.roomFiles = roomFiles;
}
@Override
@@ -43,7 +41,7 @@ public class UploadDialog extends Modal<String> {
setCloseOnEscapeKey(false);
setBackdrop(Backdrop.STATIC);
- wsUpload = new RoomUploadForm("wsupload", roomFiles);
+ wsUpload = new RoomUploadForm("wsupload");
add(wsUpload);
addButton(OmModalCloseButton.of("85"));