Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/service/ImageGalleryServiceImpl.java =================================================================== diff -u -r49b072598933566cedd795667351678071f03004 -r3a64b2f8137870eb67586cd9b18e71f84096b43c --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/service/ImageGalleryServiceImpl.java (.../ImageGalleryServiceImpl.java) (revision 49b072598933566cedd795667351678071f03004) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/service/ImageGalleryServiceImpl.java (.../ImageGalleryServiceImpl.java) (revision 3a64b2f8137870eb67586cd9b18e71f84096b43c) @@ -940,7 +940,6 @@ } @Override - @SuppressWarnings("unchecked") public void removeLearnerContent(Long toolContentId, Integer userId) throws ToolException { if (ImageGalleryServiceImpl.log.isDebugEnabled()) { ImageGalleryServiceImpl.log.debug( Index: lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/LearningController.java =================================================================== diff -u -r49b072598933566cedd795667351678071f03004 -r3a64b2f8137870eb67586cd9b18e71f84096b43c --- lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/LearningController.java (.../LearningController.java) (revision 49b072598933566cedd795667351678071f03004) +++ lams_tool_images/src/java/org/lamsfoundation/lams/tool/imageGallery/web/controller/LearningController.java (.../LearningController.java) (revision 3a64b2f8137870eb67586cd9b18e71f84096b43c) @@ -23,13 +23,15 @@ package org.lamsfoundation.lams.tool.imageGallery.web.controller; +import java.io.File; import java.io.IOException; import java.sql.Timestamp; import java.util.Date; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; +import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -56,6 +58,7 @@ import org.lamsfoundation.lams.tool.imageGallery.web.form.ImageRatingForm; import org.lamsfoundation.lams.tool.imageGallery.web.form.ReflectionForm; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.util.FileUtil; import org.lamsfoundation.lams.util.MessageService; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.session.SessionManager; @@ -250,9 +253,6 @@ public String saveNewImage(@ModelAttribute ImageGalleryItemForm imageGalleryItemForm, HttpServletRequest request, HttpServletResponse response) throws IOException { - SessionMap sessionMap = (SessionMap) request.getSession() - .getAttribute(imageGalleryItemForm.getSessionMapID()); - MultiValueMap errorMap = new LinkedMultiValueMap<>(); try { @@ -272,7 +272,7 @@ sb.append(pair.getKey() + " " + pair.getValue()); } outputStream.print(sb.toString()); - response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, sb.toString()); } return null; @@ -488,6 +488,7 @@ /** * Extract web form content to imageGallery item. */ + @SuppressWarnings("unchecked") private void extractFormToImageGalleryItem(HttpServletRequest request, ImageGalleryItemForm imageForm) throws Exception { SessionMap sessionMap = (SessionMap) request.getSession() @@ -511,18 +512,22 @@ ImageGalleryItem image = new ImageGalleryItem(); image.setCreateDate(new Timestamp(new Date().getTime())); - // upload ImageGalleryItem file - // and setting file properties' fields: item.setFileUuid(); - // item.setFileName(); -// if (imageForm.getFile() != null) { -// try { -// igService.uploadImageGalleryItemFile(image, imageForm.getFile()); -// } catch (UploadImageGalleryFileException e) { -// // remove new image! -// throw e; -// } -// } + File uploadDir = FileUtil.getTmpFileUploadDir(imageForm.getTmpFileUploadId()); + if (uploadDir.canRead()) { + File[] files = uploadDir.listFiles(); + if (files.length == 0) { + throw new ServletException("No image uploaded"); + } + if (files.length > 1) { + throw new ServletException("Uploaded more than 1 image while editing an Image Gallery Item"); + } + + igService.uploadImageGalleryItemFile(image, files[0]); + } else { + throw new ServletException("Can not access upload dir"); + } + String title = imageForm.getTitle(); if (StringUtils.isBlank(title)) { Long nextImageTitleNumber = imageGallery.getNextImageTitle(); @@ -534,11 +539,8 @@ image.setCreateBy(user); image.setDescription(imageForm.getDescription()); - image.setCreateByAuthor(false); + image.setCreateByAuthor(mode.isTeacher()); image.setHide(false); - if (mode.isTeacher()) { - image.setCreateByAuthor(true); - } // setting SequenceId Set imageList = imageGallery.getImageGalleryItems(); Index: lams_tool_images/web/includes/javascript/imageGalleryitem.js =================================================================== diff -u -rc839b727cb9a2257b2545ea8c12dc0062548446d -r3a64b2f8137870eb67586cd9b18e71f84096b43c --- lams_tool_images/web/includes/javascript/imageGalleryitem.js (.../imageGalleryitem.js) (revision c839b727cb9a2257b2545ea8c12dc0062548446d) +++ lams_tool_images/web/includes/javascript/imageGalleryitem.js (.../imageGalleryitem.js) (revision 3a64b2f8137870eb67586cd9b18e71f84096b43c) @@ -50,7 +50,7 @@ }, error: function(jqXHR, textStatus, errorMessage) { $('#uploadButtons').show(); - $('#itemAttachmentArea_Busy').hide(); + $('#itemAttachmentArea_Busy').hide(); alert(errorMessage); } }); Index: lams_tool_images/web/pages/authoring/authoring.jsp =================================================================== diff -u -rc839b727cb9a2257b2545ea8c12dc0062548446d -r3a64b2f8137870eb67586cd9b18e71f84096b43c --- lams_tool_images/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision c839b727cb9a2257b2545ea8c12dc0062548446d) +++ lams_tool_images/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision 3a64b2f8137870eb67586cd9b18e71f84096b43c) @@ -4,7 +4,6 @@ <%@ page import="org.lamsfoundation.lams.util.Configuration" %> <%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys" %> <%@ page import="org.lamsfoundation.lams.util.FileUtil" %> -<%@ page import="org.lamsfoundation.lams.util.FileValidatorUtil" %> <%=Configuration.get(ConfigurationKeys.UPLOAD_FILE_LARGE_MAX_SIZE)%> <%=FileUtil.ALLOWED_EXTENSIONS_IMAGE%> @@ -21,12 +20,10 @@ <%-- used for imageGalleryitem.js --%> var LAMS_URL = '${lams}'; var removeItemAttachmentUrl = ""; - var saveMultipleImagesUrl = ""; var UPLOAD_FILE_LARGE_MAX_SIZE = "${UPLOAD_FILE_LARGE_MAX_SIZE}"; // convert Java syntax to JSON var UPLOAD_ALLOWED_EXTENSIONS = JSON.parse("[" + "${ALLOWED_EXTENSIONS_IMAGE}".replace(/\.\w+/g, '"$&"') + "]"); var LABEL_ITEM_BLANK = ''; - var LABEL_MAX_FILE_SIZE = ''; var LABEL_NOT_ALLOWED_FORMAT = ''; Index: lams_tool_images/web/pages/authoring/parts/imagefile.jsp =================================================================== diff -u -rc839b727cb9a2257b2545ea8c12dc0062548446d -r3a64b2f8137870eb67586cd9b18e71f84096b43c --- lams_tool_images/web/pages/authoring/parts/imagefile.jsp (.../imagefile.jsp) (revision c839b727cb9a2257b2545ea8c12dc0062548446d) +++ lams_tool_images/web/pages/authoring/parts/imagefile.jsp (.../imagefile.jsp) (revision 3a64b2f8137870eb67586cd9b18e71f84096b43c) @@ -21,5 +21,5 @@
Index: lams_tool_images/web/pages/learning/learning.jsp =================================================================== diff -u -r3bb7e0141ae1cc15ccd737c95d90b5762a34ad61 -r3a64b2f8137870eb67586cd9b18e71f84096b43c --- lams_tool_images/web/pages/learning/learning.jsp (.../learning.jsp) (revision 3bb7e0141ae1cc15ccd737c95d90b5762a34ad61) +++ lams_tool_images/web/pages/learning/learning.jsp (.../learning.jsp) (revision 3a64b2f8137870eb67586cd9b18e71f84096b43c) @@ -2,6 +2,7 @@ <%@ include file="/common/taglibs.jsp"%> <%@ page import="org.lamsfoundation.lams.util.Configuration" %> <%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys" %> +<%@ page import="org.lamsfoundation.lams.util.FileUtil" %> <%-- param has higher level for request attribute --%> @@ -17,6 +18,8 @@ <%=Configuration.get(ConfigurationKeys.UPLOAD_FILE_LARGE_MAX_SIZE)%> +<%=FileUtil.ALLOWED_EXTENSIONS_IMAGE%> + @@ -38,16 +41,30 @@ + + + + + + + + + + + + + + + Index: lams_tool_images/web/pages/monitoring/monitoring.jsp =================================================================== diff -u -r7e1926a1f28d55c8de63720fbc97f918de5cc711 -r3a64b2f8137870eb67586cd9b18e71f84096b43c --- lams_tool_images/web/pages/monitoring/monitoring.jsp (.../monitoring.jsp) (revision 7e1926a1f28d55c8de63720fbc97f918de5cc711) +++ lams_tool_images/web/pages/monitoring/monitoring.jsp (.../monitoring.jsp) (revision 3a64b2f8137870eb67586cd9b18e71f84096b43c) @@ -3,6 +3,7 @@ <%@ page import="org.lamsfoundation.lams.tool.imageGallery.ImageGalleryConstants"%> <%@ page import="org.lamsfoundation.lams.util.Configuration" %> <%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys" %> +<%@ page import="org.lamsfoundation.lams.util.FileUtil" %> @@ -13,6 +14,8 @@ <%=Configuration.get(ConfigurationKeys.UPLOAD_FILE_LARGE_MAX_SIZE)%> +<%=FileUtil.ALLOWED_EXTENSIONS_IMAGE%> + @@ -25,6 +28,7 @@ +