Index: lams_tool_preview/conf/language/lams/ApplicationResources.properties =================================================================== RCS file: /usr/local/cvsroot/lams_tool_preview/conf/language/lams/ApplicationResources.properties,v diff -u -r1.7.2.10 -r1.7.2.11 --- lams_tool_preview/conf/language/lams/ApplicationResources.properties 13 Nov 2016 13:19:19 -0000 1.7.2.10 +++ lams_tool_preview/conf/language/lams/ApplicationResources.properties 21 Nov 2016 02:23:20 -0000 1.7.2.11 @@ -144,4 +144,11 @@ event.sent.results.no.results=No results msg.results.sent={0} Email(s) Sent button.email.results=Email Results -label.notify.user.of.results=Notify Users of Results \ No newline at end of file +label.notify.user.of.results=Notify Users of Results +label.number.of.team.members=No of team members +label.average=Average +label.for.user=For {0} +label.learner=Student +label.spa.factor=SPA factor +label.total.group.mark=Total team mark +label.individual.mark=Individual mark \ No newline at end of file Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/IPeerreviewService.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/IPeerreviewService.java,v diff -u -r1.4.2.8 -r1.4.2.9 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/IPeerreviewService.java 26 Oct 2016 04:18:49 -0000 1.4.2.8 +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/IPeerreviewService.java 21 Nov 2016 02:19:22 -0000 1.4.2.9 @@ -24,6 +24,7 @@ package org.lamsfoundation.lams.tool.peerreview.service; import java.util.Collection; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -39,6 +40,7 @@ import org.lamsfoundation.lams.tool.peerreview.model.Peerreview; import org.lamsfoundation.lams.tool.peerreview.model.PeerreviewSession; import org.lamsfoundation.lams.tool.peerreview.model.PeerreviewUser; +import org.lamsfoundation.lams.util.ExcelCell; /** * Interface that defines the contract that all Peerreview service provider must follow. @@ -276,4 +278,6 @@ /** Send an email with the user's results to the specified user in the session */ int emailReportToUser(Long toolContentId, Long sessionId, Long userId); + /** Spreadsheet */ + LinkedHashMap exportTeamReportSpreadsheet(Long toolContentId); } Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java,v diff -u -r1.7.2.16 -r1.7.2.17 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java 11 Nov 2016 04:08:46 -0000 1.7.2.16 +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/service/PeerreviewServiceImpl.java 21 Nov 2016 02:23:20 -0000 1.7.2.17 @@ -23,13 +23,13 @@ package org.lamsfoundation.lams.tool.peerreview.service; -import java.security.InvalidParameterException; import java.text.NumberFormat; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.Iterator; +import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; import java.util.Map; @@ -45,7 +45,6 @@ import org.apache.tomcat.util.json.JSONArray; import org.apache.tomcat.util.json.JSONException; import org.apache.tomcat.util.json.JSONObject; -import org.lamsfoundation.lams.events.AbstractDeliveryMethod; import org.lamsfoundation.lams.events.IEventNotificationService; import org.lamsfoundation.lams.learning.service.ILearnerService; import org.lamsfoundation.lams.learningdesign.service.ExportToolContentException; @@ -79,10 +78,12 @@ import org.lamsfoundation.lams.tool.peerreview.model.PeerreviewSession; import org.lamsfoundation.lams.tool.peerreview.model.PeerreviewUser; import org.lamsfoundation.lams.tool.peerreview.util.PeerreviewToolContentHandler; +import org.lamsfoundation.lams.tool.peerreview.util.SpreadsheetBuilder; import org.lamsfoundation.lams.tool.service.ILamsToolService; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; +import org.lamsfoundation.lams.util.ExcelCell; import org.lamsfoundation.lams.util.JsonUtil; import org.lamsfoundation.lams.util.MessageService; @@ -546,6 +547,22 @@ } notificationMessage.append("\n"); } + + @Override + @SuppressWarnings("unchecked") + public LinkedHashMap exportTeamReportSpreadsheet(Long toolContentId) { + + Peerreview peerreview = peerreviewDao.getByContentId(toolContentId); + if (peerreview == null) { + PeerreviewServiceImpl.log.warn("Did not find activity with toolContentId: " + toolContentId + " to remove learner content"); + return null; + } + + return new SpreadsheetBuilder(peerreview, ratingService, peerreviewSessionDao, peerreviewUserDao, this).generateTeamReport(); + + } + + // ***************************************************************************** // private methods // ***************************************************************************** Fisheye: Tag 1.1 refers to a dead (removed) revision in file `lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/util/SpreadsheetBuilder.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/action/MonitoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/action/MonitoringAction.java,v diff -u -r1.2.2.8 -r1.2.2.9 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/action/MonitoringAction.java 26 Oct 2016 04:18:49 -0000 1.2.2.8 +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/action/MonitoringAction.java 21 Nov 2016 02:23:20 -0000 1.2.2.9 @@ -29,10 +29,13 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.TimeZone; import javax.servlet.ServletException; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -52,6 +55,9 @@ import org.lamsfoundation.lams.tool.peerreview.model.PeerreviewUser; import org.lamsfoundation.lams.tool.peerreview.service.IPeerreviewService; import org.lamsfoundation.lams.util.DateUtil; +import org.lamsfoundation.lams.util.ExcelCell; +import org.lamsfoundation.lams.util.ExcelUtil; +import org.lamsfoundation.lams.util.FileUtil; import org.lamsfoundation.lams.util.WebUtil; import org.lamsfoundation.lams.web.util.AttributeNames; import org.lamsfoundation.lams.web.util.SessionMap; @@ -97,7 +103,9 @@ if (param.equals("sendResultsToSessionUsers")) { return sendResultsToSessionUsers(mapping, form, request, response); } - + if ( param.equals("exportTeamReport")) { + return exportTeamReport(mapping, form, request, response); + } return mapping.findForward(PeerreviewConstants.ERROR); } @@ -514,6 +522,55 @@ return null; } + + /** + * Exports Team Report into Excel spreadsheet. + * @throws ServletException + * @throws IOException + */ + public ActionForward exportTeamReport(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws ServletException { + + IPeerreviewService service = getPeerreviewService(); + Long toolContentId = WebUtil.readLongParam(request, PeerreviewConstants.ATTR_TOOL_CONTENT_ID); + + Peerreview peerreview = service.getPeerreviewByContentId(toolContentId); + if (peerreview == null) { + log.warn("Did not find Peer Review with toolContentId: " + toolContentId + " export content"); + return null; + } + + String fileName = peerreview.getTitle().replaceAll(" ", "_") + ".xlsx"; + + try { + fileName = FileUtil.encodeFilenameForDownload(request, fileName); + + if (log.isDebugEnabled()) { + log.debug("Exporting to a spreadsheet for toolContentId: " + toolContentId + "filename "+fileName); + } + + response.setContentType("application/x-download"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName); + ServletOutputStream out = response.getOutputStream(); + + LinkedHashMap dataToExport = service.exportTeamReportSpreadsheet(toolContentId); + + // set cookie that will tell JS script that export has been finished + String downloadTokenValue = WebUtil.readStrParam(request, "downloadTokenValue"); + Cookie fileDownloadTokenCookie = new Cookie("fileDownloadToken", downloadTokenValue); + fileDownloadTokenCookie.setPath("/"); + response.addCookie(fileDownloadTokenCookie); + + ExcelUtil.createExcel(out, dataToExport, "Exported on:", true); + + } catch (IOException e) { + log.error("exportTeamReportExcelSpreadsheet i/o error occured: "+e.getMessage(), e); + throw new ServletException(e); + } + + return null; + } + // ************************************************************************************* // Private method // ************************************************************************************* Index: lams_tool_preview/web/WEB-INF/struts-config.xml =================================================================== RCS file: /usr/local/cvsroot/lams_tool_preview/web/WEB-INF/Attic/struts-config.xml,v diff -u -r1.1.2.7 -r1.1.2.8 --- lams_tool_preview/web/WEB-INF/struts-config.xml 16 Nov 2016 04:46:28 -0000 1.1.2.7 +++ lams_tool_preview/web/WEB-INF/struts-config.xml 21 Nov 2016 02:23:19 -0000 1.1.2.8 @@ -208,7 +208,10 @@ type="org.lamsfoundation.lams.tool.peerreview.web.action.MonitoringAction" parameter="sendResultsToSessionUsers" > - + + Index: lams_tool_preview/web/pages/monitoring/summary.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_preview/web/pages/monitoring/summary.jsp,v diff -u -r1.5.2.7 -r1.5.2.8 --- lams_tool_preview/web/pages/monitoring/summary.jsp 17 Nov 2016 04:40:53 -0000 1.5.2.7 +++ lams_tool_preview/web/pages/monitoring/summary.jsp 21 Nov 2016 02:23:20 -0000 1.5.2.8 @@ -1,13 +1,17 @@ <%@ include file="/common/taglibs.jsp"%> + + - + + + @@ -65,6 +96,12 @@
+ + @@ -103,19 +140,19 @@ -
 
-
+
+ reflections.do?sessionMapID=${sessionMapID}&toolSessionId=${groupSummary.sessionId}&toolContentID=${sessionMap.toolContentID} - - + + loffset5 - +