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