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/06 09:36:52 UTC

svn commit: r1785613 - in /openmeetings/application: branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/ trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/

Author: solomax
Date: Mon Mar  6 09:36:51 2017
New Revision: 1785613

URL: http://svn.apache.org/viewvc?rev=1785613&view=rev
Log:
[OPENMEETINGS-1580] multiple file upload is enabled

Modified:
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
    openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html?rev=1785613&r1=1785612&r2=1785613&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html Mon Mar  6 09:36:51 2017
@@ -7,16 +7,16 @@
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at
-  
+
       http://www.apache.org/licenses/LICENSE-2.0
-    	  
+
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-  
+
 -->
 <html xmlns:wicket="http://wicket.apache.org">
 <wicket:panel>
@@ -26,7 +26,7 @@
 			<div style="display: block;" class="fileinput-filename"></div>
 			<span class="btn btn-file ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" style="width: 120px;">
 				<span class="ui-button-text"><wicket:message key="596"/></span>
-				<input type="file" wicket:id="file"/>
+				<input type="file" multiple="multiple" wicket:id="file"/>
 			</span>
 		</div>
 		<div wicket:id="feedback"></div>

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java?rev=1785613&r1=1785612&r2=1785613&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java Mon Mar  6 09:36:51 2017
@@ -180,41 +180,45 @@ public class UploadDialog extends Abstra
 
 	@Override
 	protected void onSubmit(AjaxRequestTarget target) {
-		FileUpload fu = uploadField.getFileUpload();
-		if (fu != null) {
-			FileExplorerItem f = new FileExplorerItem();
-			f.setSize(fu.getSize());
-			f.setName(fu.getClientFileName());
-			FileItem parent = roomFiles.getLastSelected();
-			if (parent == null || !(parent instanceof FileExplorerItem)) {
-				f.setOwnerId(getUserId());
-			} else {
-				f.setRoomId(parent.getRoomId());
-				f.setOwnerId(parent.getOwnerId());
-				if (parent.getId() != null) {
-					f.setParentId(FileItem.Type.Folder == parent.getType() ? parent.getId() : parent.getParentId());
+		List<FileUpload> ful = uploadField.getFileUploads();
+		if (ful != null) {
+			for (FileUpload fu : ful) {
+				FileExplorerItem f = new FileExplorerItem();
+				f.setSize(fu.getSize());
+				f.setName(fu.getClientFileName());
+				FileItem parent = roomFiles.getLastSelected();
+				if (parent == null || !(parent instanceof FileExplorerItem)) {
+					f.setOwnerId(getUserId());
+				} else {
+					f.setRoomId(parent.getRoomId());
+					f.setOwnerId(parent.getOwnerId());
+					if (parent.getId() != null) {
+						f.setParentId(FileItem.Type.Folder == parent.getType() ? parent.getId() : parent.getParentId());
+					}
 				}
-			}
-			f.setInsertedBy(getUserId());
+				f.setInsertedBy(getUserId());
 
-			try {
-				ConverterProcessResultList logs = getBean(FileProcessor.class).processFile(getUserId(), f, fu.getInputStream());
-				for (Entry<String, ConverterProcessResult> entry : logs.getJobs().entrySet()) {
-					getBean(FileItemLogDao.class).add(entry.getValue().getProcess(), f, entry.getValue());
-				}
-				room.getSidebar().updateFiles(target);
-				if (logs.hasError()) {
-					form.error(getString("convert.errors.file"));
-					onError(target);
-				} else {
-					if (toWb.getModelObject()) {
-						room.sendFileToWb(f, cleanWb.getModelObject());
+				try {
+					ConverterProcessResultList logs = getBean(FileProcessor.class).processFile(getUserId(), f, fu.getInputStream());
+					for (Entry<String, ConverterProcessResult> entry : logs.getJobs().entrySet()) {
+						getBean(FileItemLogDao.class).add(entry.getValue().getProcess(), f, entry.getValue());
+					}
+					room.getSidebar().updateFiles(target);
+					if (logs.hasError()) {
+						form.error(getString("convert.errors.file"));
+					} else {
+						if (toWb.getModelObject()) {
+							room.sendFileToWb(f, cleanWb.getModelObject());
+						}
 					}
-					close(target, null);
+				} catch (Exception e) {
+					form.error(e.getMessage());
 				}
-			} catch (Exception e) {
-				form.error(e.getMessage());
+			}
+			if (form.hasError()) {
 				onError(target);
+			} else {
+				close(target, null);
 			}
 		}
 	}

Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js?rev=1785613&r1=1785612&r2=1785613&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js Mon Mar  6 09:36:51 2017
@@ -21,8 +21,15 @@ function bindUpload(markupId, hiddenId)
 	if (!fi.eventAdded) {
 		$('#' + markupId + ' .fileinput').on('change.bs.fileinput', function(event) {
 			event.stopPropagation();
+			var th = $(this),
+			fInput = th.find('input[type=file]'),
+			fn = th.find('.fileinput-filename');
+			if (fInput[0].files !== undefined && fInput[0].files.length > 1) {
+				fn.text($.map(fInput[0].files, function(val) { return val.name; }).join(', '));
+			}
+			fInput.attr('title', fn.text());
 			var hi = $('#' + hiddenId);
-			hi.val($('#' + markupId + ' .fileinput .fileinput-filename').text());
+			hi.val(fn.text());
 			hi.trigger('change');
 			return false;
 		});

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html?rev=1785613&r1=1785612&r2=1785613&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.html Mon Mar  6 09:36:51 2017
@@ -7,16 +7,16 @@
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at
-  
+
       http://www.apache.org/licenses/LICENSE-2.0
-    	  
+
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
-  
+
 -->
 <html xmlns:wicket="http://wicket.apache.org">
 <wicket:panel>
@@ -26,7 +26,7 @@
 			<div style="display: block;" class="fileinput-filename"></div>
 			<span class="btn btn-file ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" style="width: 120px;">
 				<span class="ui-button-text"><wicket:message key="596"/></span>
-				<input type="file" wicket:id="file"/>
+				<input type="file" multiple="multiple" wicket:id="file"/>
 			</span>
 		</div>
 		<div wicket:id="feedback"></div>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java?rev=1785613&r1=1785612&r2=1785613&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/UploadDialog.java Mon Mar  6 09:36:51 2017
@@ -180,41 +180,45 @@ public class UploadDialog extends Abstra
 
 	@Override
 	protected void onSubmit(AjaxRequestTarget target) {
-		FileUpload fu = uploadField.getFileUpload();
-		if (fu != null) {
-			FileExplorerItem f = new FileExplorerItem();
-			f.setSize(fu.getSize());
-			f.setName(fu.getClientFileName());
-			FileItem parent = roomFiles.getLastSelected();
-			if (parent == null || !(parent instanceof FileExplorerItem)) {
-				f.setOwnerId(getUserId());
-			} else {
-				f.setRoomId(parent.getRoomId());
-				f.setOwnerId(parent.getOwnerId());
-				if (parent.getId() != null) {
-					f.setParentId(FileItem.Type.Folder == parent.getType() ? parent.getId() : parent.getParentId());
+		List<FileUpload> ful = uploadField.getFileUploads();
+		if (ful != null) {
+			for (FileUpload fu : ful) {
+				FileExplorerItem f = new FileExplorerItem();
+				f.setSize(fu.getSize());
+				f.setName(fu.getClientFileName());
+				FileItem parent = roomFiles.getLastSelected();
+				if (parent == null || !(parent instanceof FileExplorerItem)) {
+					f.setOwnerId(getUserId());
+				} else {
+					f.setRoomId(parent.getRoomId());
+					f.setOwnerId(parent.getOwnerId());
+					if (parent.getId() != null) {
+						f.setParentId(FileItem.Type.Folder == parent.getType() ? parent.getId() : parent.getParentId());
+					}
 				}
-			}
-			f.setInsertedBy(getUserId());
+				f.setInsertedBy(getUserId());
 
-			try {
-				ConverterProcessResultList logs = getBean(FileProcessor.class).processFile(getUserId(), f, fu.getInputStream());
-				for (Entry<String, ConverterProcessResult> entry : logs.getJobs().entrySet()) {
-					getBean(FileItemLogDao.class).add(entry.getValue().getProcess(), f, entry.getValue());
-				}
-				room.getSidebar().updateFiles(target);
-				if (logs.hasError()) {
-					form.error(getString("convert.errors.file"));
-					onError(target);
-				} else {
-					if (toWb.getModelObject()) {
-						room.sendFileToWb(f, cleanWb.getModelObject());
+				try {
+					ConverterProcessResultList logs = getBean(FileProcessor.class).processFile(getUserId(), f, fu.getInputStream());
+					for (Entry<String, ConverterProcessResult> entry : logs.getJobs().entrySet()) {
+						getBean(FileItemLogDao.class).add(entry.getValue().getProcess(), f, entry.getValue());
+					}
+					room.getSidebar().updateFiles(target);
+					if (logs.hasError()) {
+						form.error(getString("convert.errors.file"));
+					} else {
+						if (toWb.getModelObject()) {
+							room.sendFileToWb(f, cleanWb.getModelObject());
+						}
 					}
-					close(target, null);
+				} catch (Exception e) {
+					form.error(e.getMessage());
 				}
-			} catch (Exception e) {
-				form.error(e.getMessage());
+			}
+			if (form.hasError()) {
 				onError(target);
+			} else {
+				close(target, null);
 			}
 		}
 	}

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js?rev=1785613&r1=1785612&r2=1785613&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/upload.js Mon Mar  6 09:36:51 2017
@@ -21,8 +21,15 @@ function bindUpload(markupId, hiddenId)
 	if (!fi.eventAdded) {
 		$('#' + markupId + ' .fileinput').on('change.bs.fileinput', function(event) {
 			event.stopPropagation();
+			var th = $(this),
+			fInput = th.find('input[type=file]'),
+			fn = th.find('.fileinput-filename');
+			if (fInput[0].files !== undefined && fInput[0].files.length > 1) {
+				fn.text($.map(fInput[0].files, function(val) { return val.name; }).join(', '));
+			}
+			fInput.attr('title', fn.text());
 			var hi = $('#' + hiddenId);
-			hi.val($('#' + markupId + ' .fileinput .fileinput-filename').text());
+			hi.val(fn.text());
 			hi.trigger('change');
 			return false;
 		});