Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/MonitoringController.java =================================================================== diff -u -r6437f6b8a894d41f5dd5a76a6fe7e95d50171900 -rca958ecbc65696caf0f399cec0a8eace5a84da98 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/MonitoringController.java (.../MonitoringController.java) (revision 6437f6b8a894d41f5dd5a76a6fe7e95d50171900) +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/controller/MonitoringController.java (.../MonitoringController.java) (revision ca958ecbc65696caf0f399cec0a8eace5a84da98) @@ -29,6 +29,7 @@ import java.util.Collection; import java.util.Comparator; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.TimeZone; @@ -123,7 +124,7 @@ PeerreviewServiceImpl.removeGroupedCriteria(criterias); if (criterias.size() == 1 && criterias.get(0).isRubricsStyleRating()) { - Map> rubricsData = getRubricsData(sessionMap, + Map> rubricsData = getRubricsData(sessionMap, criterias.get(0), criterias); request.setAttribute("rubricsData", rubricsData); } @@ -151,9 +152,9 @@ Long toolContentId = (Long) sessionMap.get(PeerreviewConstants.ATTR_TOOL_CONTENT_ID); List criterias = service.getRatingCriterias(toolContentId); - Map> rubricsData = getRubricsData(sessionMap, + Map rubricsLearnerData = getRubricsLearnerData(toolSessionId, criteria, criterias); - request.setAttribute("rubricsData", rubricsData); + request.setAttribute("rubricsLearnerData", rubricsLearnerData); } request.setAttribute("criteria", criteria); @@ -694,35 +695,43 @@ } @SuppressWarnings("unchecked") - private Map> getRubricsData( + private Map> getRubricsData( SessionMap sessionMap, RatingCriteria criteria, Collection criterias) { List sessionList = (List) sessionMap.get(PeerreviewConstants.ATTR_SUMMARY_LIST); + Map> rubricsData = new HashMap<>(); + for (GroupSummary session : sessionList) { + Long toolSessionId = session.getSessionId(); + Map learnerData = getRubricsLearnerData(toolSessionId, criteria, + criterias); + rubricsData.put(toolSessionId, learnerData); + } + + return rubricsData; + } + + private Map getRubricsLearnerData(Long toolSessionId, + RatingCriteria criteria, Collection criterias) { + Map learnerData = new TreeMap<>( + Comparator.comparing(PeerreviewUser::getFirstName).thenComparing(PeerreviewUser::getLastName)); + criterias = criterias.stream() .filter(c -> criteria.getRatingCriteriaGroupId().equals(c.getRatingCriteriaGroupId())) .collect(Collectors.toList()); Collection criteriaIds = criterias.stream() .collect(Collectors.mapping(RatingCriteria::getRatingCriteriaId, Collectors.toSet())); - Map> rubricsData = new TreeMap<>( - Comparator.comparing(GroupSummary::getSessionName)); - for (GroupSummary session : sessionList) { - Map learnerData = new TreeMap<>( - Comparator.comparing(PeerreviewUser::getFirstName).thenComparing(PeerreviewUser::getLastName)); - rubricsData.put(session, learnerData); + Collection learners = service.getUsersBySession(toolSessionId); + List ratings = ratingService.getRatingsByCriteriasAndItems(criteriaIds, + learners.stream().collect(Collectors.mapping(PeerreviewUser::getUserId, Collectors.toSet()))); - Collection learners = service.getUsersBySession(session.getSessionId()); - List ratings = ratingService.getRatingsByCriteriasAndItems(criteriaIds, - learners.stream().collect(Collectors.mapping(PeerreviewUser::getUserId, Collectors.toSet()))); - - for (PeerreviewUser learner : learners) { - Function dtoBuilder = c -> PeerreviewServiceImpl - .getRubricsCriteriaDTO(c, learner.getUserId().intValue(), true, ratings); - StyledCriteriaRatingDTO dto = PeerreviewServiceImpl.fillCriteriaGroup(criteria, criterias, dtoBuilder); - learnerData.put(learner, dto); - } + for (PeerreviewUser learner : learners) { + Function dtoBuilder = c -> PeerreviewServiceImpl + .getRubricsCriteriaDTO(c, learner.getUserId().intValue(), true, ratings); + StyledCriteriaRatingDTO dto = PeerreviewServiceImpl.fillCriteriaGroup(criteria, criterias, dtoBuilder); + learnerData.put(learner, dto); } - return rubricsData; + return learnerData; } } Index: lams_tool_preview/web/pages/monitoring/criteria.jsp =================================================================== diff -u -r6f2fea6274f356f936ab3d778adf20fdbf94652a -rca958ecbc65696caf0f399cec0a8eace5a84da98 --- lams_tool_preview/web/pages/monitoring/criteria.jsp (.../criteria.jsp) (revision 6f2fea6274f356f936ab3d778adf20fdbf94652a) +++ lams_tool_preview/web/pages/monitoring/criteria.jsp (.../criteria.jsp) (revision ca958ecbc65696caf0f399cec0a8eace5a84da98) @@ -26,74 +26,14 @@ //vars for rating.js var MAX_RATES = 0, - MIN_RATES = 0, - COMMENTS_MIN_WORDS_LIMIT = 0, - MAX_RATINGS_FOR_ITEM = 0, - LAMS_URL = '', - COUNT_RATED_ITEMS = 0, - COMMENT_TEXTAREA_TIP_LABEL = '', - WARN_COMMENTS_IS_BLANK_LABEL = '', - WARN_MIN_NUMBER_WORDS_LABEL = ''; - - function clearMessage() { - $("#messageArea2").html(""); - return false; - } - - function closeResultsForLearner() { - $("#emailPreviewArea").html(""); - $("#emailPreviewArea").hide(); - return false; - } - - // Prview the email to be sent to the learner - function previewResultsForLearner(sessionId, userId) { - $(".btn-disable-on-submit").prop("disabled", true); - var url = ""; - clearMessage(); - $("#messageArea2_Busy").show(); - $("#emailPreviewArea").load( - url, - { - sessionMapID: "${sessionMapID}", - toolContentID: ${sessionMap.toolContentID}, - toolSessionId: sessionId, - userID: userId, - reqID: (new Date()).getTime() - }, - function() { - $("#messageArea2_Busy").hide(); - $("#emailPreviewArea").show(); - $(".btn-disable-on-submit").prop("disabled", false); - } - ); - return false; - } - - // Send the previewed email to the learner - function sendResultsForLearner(sessionId, userId, dateTimeStamp) { - $(".btn-disable-on-submit").prop("disabled", true); - var url = ""; - clearMessage(); - $("#messageArea2_Busy").show(); - $("#messageArea2").load( - url, - { - sessionMapID: "${sessionMapID}", - toolContentID: ${sessionMap.toolContentID}, - toolSessionId: sessionId, - dateTimeStamp: dateTimeStamp, - userID: userId, - reqID: (new Date()).getTime() - }, - function() { - $("#messageArea2_Busy").hide(); - closeResultsForLearner(); - $(".btn-disable-on-submit").prop("disabled", false); - } - ); - return false; - } + MIN_RATES = 0, + COMMENTS_MIN_WORDS_LIMIT = 0, + MAX_RATINGS_FOR_ITEM = 0, + LAMS_URL = '', + COUNT_RATED_ITEMS = 0, + COMMENT_TEXTAREA_TIP_LABEL = '', + WARN_COMMENTS_IS_BLANK_LABEL = '', + WARN_MIN_NUMBER_WORDS_LABEL = ''; @@ -104,10 +44,6 @@ - - -
- <%@ include file="rubricspart.jsp" %> @@ -118,8 +54,6 @@ - - Index: lams_tool_preview/web/pages/monitoring/criteriapart.jsp =================================================================== diff -u -r6f2fea6274f356f936ab3d778adf20fdbf94652a -rca958ecbc65696caf0f399cec0a8eace5a84da98 --- lams_tool_preview/web/pages/monitoring/criteriapart.jsp (.../criteriapart.jsp) (revision 6f2fea6274f356f936ab3d778adf20fdbf94652a) +++ lams_tool_preview/web/pages/monitoring/criteriapart.jsp (.../criteriapart.jsp) (revision ca958ecbc65696caf0f399cec0a8eace5a84da98) @@ -127,9 +127,75 @@ }); }; setTimeout(function(){ window.dispatchEvent(new Event('resize')); }, 300); + }); + + function closeResultsForLearner() { + $("#emailPreviewArea").html(""); + $("#emailPreviewArea").hide(); + return false; + } + + function clearMessage() { + $("#messageArea2").html(""); + return false; + } + + // Prview the email to be sent to the learner + function previewResultsForLearner(sessionId, userId) { + $(".btn-disable-on-submit").prop("disabled", true); + var url = ""; + clearMessage(); + $("#messageArea2_Busy").show(); + $("#emailPreviewArea").load( + url, + { + sessionMapID: "${sessionMapID}", + toolContentID: ${sessionMap.toolContentID}, + toolSessionId: sessionId, + userID: userId, + reqID: (new Date()).getTime() + }, + function() { + $("#messageArea2_Busy").hide(); + $("#emailPreviewArea").show(); + $(".btn-disable-on-submit").prop("disabled", false); + } + ); + return false; + } + + // Send the previewed email to the learner + function sendResultsForLearner(sessionId, userId, dateTimeStamp) { + $(".btn-disable-on-submit").prop("disabled", true); + var url = ""; + clearMessage(); + $("#messageArea2_Busy").show(); + $("#messageArea2").load( + url, + { + sessionMapID: "${sessionMapID}", + toolContentID: ${sessionMap.toolContentID}, + toolSessionId: sessionId, + dateTimeStamp: dateTimeStamp, + userID: userId, + reqID: (new Date()).getTime() + }, + function() { + $("#messageArea2_Busy").hide(); + closeResultsForLearner(); + $(".btn-disable-on-submit").prop("disabled", false); + } + ); + return false; + } + + + +
+

@@ -154,4 +220,6 @@

-
\ No newline at end of file +
+ + \ No newline at end of file Index: lams_tool_preview/web/pages/monitoring/rubricspart.jsp =================================================================== diff -u -r6f2fea6274f356f936ab3d778adf20fdbf94652a -rca958ecbc65696caf0f399cec0a8eace5a84da98 --- lams_tool_preview/web/pages/monitoring/rubricspart.jsp (.../rubricspart.jsp) (revision 6f2fea6274f356f936ab3d778adf20fdbf94652a) +++ lams_tool_preview/web/pages/monitoring/rubricspart.jsp (.../rubricspart.jsp) (revision ca958ecbc65696caf0f399cec0a8eace5a84da98) @@ -1,73 +1,104 @@ <%@ include file="/common/taglibs.jsp"%> -<%-- Display collapsible panels with group names only when activity is grouped --%> - -
- - - + + + + +
+ + + + +<%-- List learners in the given session --%> +
+ + +
+ <%-- Display ratings given to this user --%> + +
- \ No newline at end of file +
+ + \ No newline at end of file Index: lams_tool_preview/web/pages/monitoring/summary.jsp =================================================================== diff -u -r6437f6b8a894d41f5dd5a76a6fe7e95d50171900 -rca958ecbc65696caf0f399cec0a8eace5a84da98 --- lams_tool_preview/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision 6437f6b8a894d41f5dd5a76a6fe7e95d50171900) +++ lams_tool_preview/web/pages/monitoring/summary.jsp (.../summary.jsp) (revision ca958ecbc65696caf0f399cec0a8eace5a84da98) @@ -23,14 +23,14 @@ //vars for rating.js var MAX_RATES = 0, - MIN_RATES = 0, - COMMENTS_MIN_WORDS_LIMIT = 0, - MAX_RATINGS_FOR_ITEM = 0, - LAMS_URL = '', - COUNT_RATED_ITEMS = 0, - COMMENT_TEXTAREA_TIP_LABEL = '', - WARN_COMMENTS_IS_BLANK_LABEL = '', - WARN_MIN_NUMBER_WORDS_LABEL = ''; + MIN_RATES = 0, + COMMENTS_MIN_WORDS_LIMIT = 0, + MAX_RATINGS_FOR_ITEM = 0, + LAMS_URL = '', + COUNT_RATED_ITEMS = 0, + COMMENT_TEXTAREA_TIP_LABEL = '', + WARN_COMMENTS_IS_BLANK_LABEL = '', + WARN_MIN_NUMBER_WORDS_LABEL = ''; @@ -117,6 +117,7 @@ + <%@ include file="rubricspart.jsp" %>