You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/03/30 12:48:50 UTC
svn commit: r1789519 - in /openmeetings/application:
branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/
branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/
trunk/openmeetings-web/src/main/...
Author: solomax
Date: Thu Mar 30 12:48:50 2017
New Revision: 1789519
URL: http://svn.apache.org/viewvc?rev=1789519&view=rev
Log:
[OPENMEETINGS-1520] restricted drive files can be sent to WB
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java?rev=1789519&r1=1789518&r2=1789519&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java Thu Mar 30 12:48:50 2017
@@ -78,6 +78,14 @@ public class FileItemTree extends Defaul
return (OmTreeProvider)super.getProvider();
}
+ public void refreshRoots(boolean all) {
+ modelChanging();
+ getModelObject().clear();
+ modelChanged();
+ getProvider().refreshRoots(all);
+ replace(newSubtree("subtree", Model.of((FileItem)null)));
+ }
+
@Override
protected Component newContentComponent(String id, IModel<FileItem> node) {
return new Folder<FileItem>(id, this, node) {
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java?rev=1789519&r1=1789518&r2=1789519&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java Thu Mar 30 12:48:50 2017
@@ -223,8 +223,12 @@ public abstract class FileTreePanel exte
private void deleteAll(AjaxRequestTarget target) {
for (Entry<String, FileItem> e : selected.entrySet()) {
- delete(e.getValue(), target);
+ FileItem f = e.getValue();
+ if (!f.isReadOnly()) {
+ delete(f, target);
+ }
}
+ updateSelected(target);
selected.clear();
}
@@ -243,7 +247,7 @@ public abstract class FileTreePanel exte
public void setReadOnly(boolean readOnly, IPartialPageRequestHandler handler) {
if (this.readOnly != readOnly) {
this.readOnly = readOnly;
- tree.getProvider().refreshRoots(!readOnly);
+ tree.refreshRoots(!readOnly);
createDir.setEnabled(!readOnly);
createDir.add(AttributeModifier.replace("class", new StringBuilder(CREATE_DIR_CLASS).append(readOnly ? DISABLED_CLASS : "")));
upload.setEnabled(!readOnly);
@@ -251,6 +255,7 @@ public abstract class FileTreePanel exte
trashBorder.add(AttributeModifier.replace("class", new StringBuilder(TRASH_CLASS).append(readOnly ? DISABLED_CLASS : "")));
if (handler != null) {
handler.add(createDir, upload, trashBorder);
+ update(handler);
}
}
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java?rev=1789519&r1=1789518&r2=1789519&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java Thu Mar 30 12:48:50 2017
@@ -79,7 +79,7 @@ public class FolderPanel extends Panel {
target.add(treePanel.trees);
}
} : new WebMarkupContainer("drop");
- if (r.getId() == null || !editable) {
+ if (r.getId() == null || treePanel.isReadOnly()) {
drag = new WebMarkupContainer("drag");
} else {
drag = new Draggable<FileItem>("drag", Model.of(r)) {
@@ -93,7 +93,8 @@ public class FolderPanel extends Panel {
behavior.setOption("helper", "dragHelper");
}
}.setContainment(treePanel.getContainment());
- drag.add(AttributeModifier.append("class", r instanceof Recording ? "recorditem" : "fileitem"));
+ String cls = r instanceof Recording ? "recorditem" : "fileitem";
+ drag.add(AttributeModifier.append("class", r.isReadOnly() ? "readonlyitem" : cls));
}
Component name = r.getId() == null || !editable ? new Label("name", r.getName()) : new AjaxEditableLabel<String>("name", Model.of(model.getObject().getName())) {
private static final long serialVersionUID = 1L;
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1789519&r1=1789518&r2=1789519&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Thu Mar 30 12:48:50 2017
@@ -181,7 +181,7 @@ public class RoomPanel extends BasePanel
public void onConfigure(JQueryBehavior behavior) {
super.onConfigure(behavior);
behavior.setOption("hoverClass", Options.asString("ui-state-hover"));
- behavior.setOption("accept", Options.asString(".recorditem, .fileitem"));
+ behavior.setOption("accept", Options.asString(".recorditem, .fileitem, .readonlyitem"));
}
@Override
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java?rev=1789519&r1=1789518&r2=1789519&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileItemTree.java Thu Mar 30 12:48:50 2017
@@ -78,6 +78,14 @@ public class FileItemTree extends Defaul
return (OmTreeProvider)super.getProvider();
}
+ public void refreshRoots(boolean all) {
+ modelChanging();
+ getModelObject().clear();
+ modelChanged();
+ getProvider().refreshRoots(all);
+ replace(newSubtree("subtree", Model.of((FileItem)null)));
+ }
+
@Override
protected Component newContentComponent(String id, IModel<FileItem> node) {
return new Folder<FileItem>(id, this, node) {
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java?rev=1789519&r1=1789518&r2=1789519&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FileTreePanel.java Thu Mar 30 12:48:50 2017
@@ -223,8 +223,12 @@ public abstract class FileTreePanel exte
private void deleteAll(AjaxRequestTarget target) {
for (Entry<String, FileItem> e : selected.entrySet()) {
- delete(e.getValue(), target);
+ FileItem f = e.getValue();
+ if (!f.isReadOnly()) {
+ delete(f, target);
+ }
}
+ updateSelected(target);
selected.clear();
}
@@ -243,7 +247,7 @@ public abstract class FileTreePanel exte
public void setReadOnly(boolean readOnly, IPartialPageRequestHandler handler) {
if (this.readOnly != readOnly) {
this.readOnly = readOnly;
- tree.getProvider().refreshRoots(!readOnly);
+ tree.refreshRoots(!readOnly);
createDir.setEnabled(!readOnly);
createDir.add(AttributeModifier.replace("class", new StringBuilder(CREATE_DIR_CLASS).append(readOnly ? DISABLED_CLASS : "")));
upload.setEnabled(!readOnly);
@@ -251,6 +255,7 @@ public abstract class FileTreePanel exte
trashBorder.add(AttributeModifier.replace("class", new StringBuilder(TRASH_CLASS).append(readOnly ? DISABLED_CLASS : "")));
if (handler != null) {
handler.add(createDir, upload, trashBorder);
+ update(handler);
}
}
}
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java?rev=1789519&r1=1789518&r2=1789519&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/tree/FolderPanel.java Thu Mar 30 12:48:50 2017
@@ -79,7 +79,7 @@ public class FolderPanel extends Panel {
target.add(treePanel.trees);
}
} : new WebMarkupContainer("drop");
- if (r.getId() == null || !editable) {
+ if (r.getId() == null || treePanel.isReadOnly()) {
drag = new WebMarkupContainer("drag");
} else {
drag = new Draggable<FileItem>("drag", Model.of(r)) {
@@ -93,7 +93,8 @@ public class FolderPanel extends Panel {
behavior.setOption("helper", "dragHelper");
}
}.setContainment(treePanel.getContainment());
- drag.add(AttributeModifier.append("class", r instanceof Recording ? "recorditem" : "fileitem"));
+ String cls = r instanceof Recording ? "recorditem" : "fileitem";
+ drag.add(AttributeModifier.append("class", r.isReadOnly() ? "readonlyitem" : cls));
}
Component name = r.getId() == null || !editable ? new Label("name", r.getName()) : new AjaxEditableLabel<String>("name", Model.of(model.getObject().getName())) {
private static final long serialVersionUID = 1L;
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=1789519&r1=1789518&r2=1789519&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 Thu Mar 30 12:48:50 2017
@@ -188,7 +188,7 @@ public class RoomPanel extends BasePanel
public void onConfigure(JQueryBehavior behavior) {
super.onConfigure(behavior);
behavior.setOption("hoverClass", Options.asString("ui-state-hover"));
- behavior.setOption("accept", Options.asString(".recorditem, .fileitem"));
+ behavior.setOption("accept", Options.asString(".recorditem, .fileitem, .readonlyitem"));
}
@Override