Index: lams_build/lib/lams/lams.jar =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -rcb2cfe5b40c7aee12c9e500ee7800b5fa679821f Binary files differ Index: lams_central/web/includes/javascript/orgGroup.js =================================================================== diff -u -r6107b0b2e367c55582da60a59adf70b55e647de6 -rcb2cfe5b40c7aee12c9e500ee7800b5fa679821f --- lams_central/web/includes/javascript/orgGroup.js (.../orgGroup.js) (revision 6107b0b2e367c55582da60a59adf70b55e647de6) +++ lams_central/web/includes/javascript/orgGroup.js (.../orgGroup.js) (revision cb2cfe5b40c7aee12c9e500ee7800b5fa679821f) @@ -713,7 +713,7 @@ } }, 1000); - var url = LAMS_URL + "groupingUpload/getGroupTemplateFile.do?activityID="+groupingActivityId + var url = LAMS_URL + "monitoring/groupingUpload/getGroupTemplateFile.do?activityID="+groupingActivityId +"&organisationID="+organisationId+"&lessonID="+lessonId+"&downloadTokenValue=" + token; if ( grouping && grouping.groupingId) { url += "&groupingId=" + grouping.groupingId; Index: lams_central/web/orgGroup.jsp =================================================================== diff -u -r087362663a394cc3ccf54d6a6a8c1f7e2d06fe4c -rcb2cfe5b40c7aee12c9e500ee7800b5fa679821f --- lams_central/web/orgGroup.jsp (.../orgGroup.jsp) (revision 087362663a394cc3ccf54d6a6a8c1f7e2d06fe4c) +++ lams_central/web/orgGroup.jsp (.../orgGroup.jsp) (revision cb2cfe5b40c7aee12c9e500ee7800b5fa679821f) @@ -155,7 +155,7 @@
+ title="">?
@@ -181,7 +181,7 @@ /> + title="">?
@@ -236,17 +236,15 @@
- - - - <%-- Value is set in Javascript as it comes in the JSON --%> - <%-- Value is set in Javascript as only used for some modes --%> - - - +
+ + + + +
Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/FileUploadForm.java =================================================================== diff -u -r6e7ab7890111cde84e6557c3507a1e9d3682e318 -rcb2cfe5b40c7aee12c9e500ee7800b5fa679821f --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/FileUploadForm.java (.../FileUploadForm.java) (revision 6e7ab7890111cde84e6557c3507a1e9d3682e318) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/FileUploadForm.java (.../FileUploadForm.java) (revision cb2cfe5b40c7aee12c9e500ee7800b5fa679821f) @@ -32,7 +32,7 @@ private Integer organisationID; private Long lessonID; private Long activityID; - private MultipartFile attachmentFile; + private MultipartFile groupUploadFile; public Integer getOrganisationID() { return organisationID; @@ -58,12 +58,11 @@ this.activityID = activityID; } - public MultipartFile getAttachmentFile() { - return attachmentFile; + public MultipartFile getGroupUploadFile() { + return groupUploadFile; } - public void setAttachmentFile(MultipartFile attachmentFile) { - this.attachmentFile = attachmentFile; + public void setGroupUploadFile(MultipartFile groupUploadFile) { + this.groupUploadFile = groupUploadFile; } - } Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXController.java =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -rcb2cfe5b40c7aee12c9e500ee7800b5fa679821f --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXController.java (.../GroupingAJAXController.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingAJAXController.java (.../GroupingAJAXController.java) (revision cb2cfe5b40c7aee12c9e500ee7800b5fa679821f) @@ -301,7 +301,6 @@ } responseJSON.put("result", result); - response.getWriter().write(responseJSON.toString()); return responseJSON.toString(); } Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingUploadAJAXController.java =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -rcb2cfe5b40c7aee12c9e500ee7800b5fa679821f --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingUploadAJAXController.java (.../GroupingUploadAJAXController.java) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GroupingUploadAJAXController.java (.../GroupingUploadAJAXController.java) (revision cb2cfe5b40c7aee12c9e500ee7800b5fa679821f) @@ -122,7 +122,7 @@ * @throws Exception */ @RequestMapping("/getGroupTemplateFile") - public String getGroupTemplateFile(HttpServletRequest request, HttpServletResponse response) throws Exception { + public void getGroupTemplateFile(HttpServletRequest request, HttpServletResponse response) throws Exception { Integer userId = getUserDTO().getUserID(); Integer organisationId = WebUtil.readIntParam(request, AttributeNames.PARAM_ORGANISATION_ID, true); @@ -151,12 +151,11 @@ new String[] { Role.GROUP_ADMIN, Role.GROUP_MANAGER, Role.MONITOR, Role.AUTHOR }, "view organisation groups", false)) { response.sendError(HttpServletResponse.SC_FORBIDDEN, "User is not a participant in the organisation"); - return null; + return; } - String fileName = new StringBuilder( - messageService.getMessage("filename.create.grouping.template").trim()).append(" ") - .append(lessonOrOrganisationName).append(".xls").toString().replaceAll(" ", "-"); + String fileName = new StringBuilder(messageService.getMessage("filename.create.grouping.template").trim()) + .append(" ").append(lessonOrOrganisationName).append(".xls").toString().replaceAll(" ", "-"); fileName = FileUtil.encodeFilenameForDownload(request, fileName); LinkedHashMap dataToExport = null; @@ -180,8 +179,8 @@ groups = orgGrouping.getGroups(); } } - Vector learners = userManagementService.getUsersFromOrganisationByRole(organisationId, - Role.LEARNER, true); + Vector learners = userManagementService.getUsersFromOrganisationByRole(organisationId, Role.LEARNER, + true); dataToExport = exportLearnersForGrouping(learners, null, groups); } @@ -195,7 +194,6 @@ response.setHeader("Content-Disposition", "attachment;filename=" + fileName); ServletOutputStream out = response.getOutputStream(); ExcelUtil.createExcelXLS(out, dataToExport, null, false); - return null; } private LinkedHashMap exportLearnersForGrouping(Collection learners, Set groups, @@ -301,17 +299,18 @@ return null; } - MultipartFile fileElements = uploadForm.getAttachmentFile(); - if (fileElements.getSize() == 0) { + MultipartFile file = uploadForm.getGroupUploadFile(); + if (file == null || file.getSize() == 0) { response.sendError(HttpServletResponse.SC_FORBIDDEN, "No file provided"); + return null; } if (log.isDebugEnabled()) { log.debug("Saving course groups from spreadsheet for user " + userId + " and organisation " + organisationId - + " filename " + fileElements); + + " filename " + file); } - ObjectNode responseJSON = isLessonMode ? saveLessonGrouping(lessonId, activityId, fileElements) - : saveCourseGrouping(organisation, groupingId, name, fileElements); + ObjectNode responseJSON = isLessonMode ? saveLessonGrouping(lessonId, activityId, file) + : saveCourseGrouping(organisation, groupingId, name, file); return responseJSON.toString(); } @@ -415,8 +414,7 @@ for (String name : existingGroupNames) { groupNamesStrBlder.append("'").append(name).append("' "); } - String error = messageService.getMessage( - "error.branching.upload.must.use.existing.groups", + String error = messageService.getMessage("error.branching.upload.must.use.existing.groups", new String[] { groupNamesStrBlder.toString() }); return createResponseJSON(true, error.toString(), false, grouping.getGroupingId(), 0, 0); }