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