Index: lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/action/LearningAction.java,v diff -u -r1.5.2.6 -r1.5.2.7 --- lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/action/LearningAction.java 13 Nov 2016 13:19:19 -0000 1.5.2.6 +++ lams_tool_preview/src/java/org/lamsfoundation/lams/tool/peerreview/web/action/LearningAction.java 16 Nov 2016 04:44:46 -0000 1.5.2.7 @@ -98,6 +98,9 @@ if (param.equals("edit")) { return edit(mapping, form, request, response); } + if (param.equals("submitComments")) { + return submitComments(mapping, form, request, response); + } if (param.equals("submitHedging")) { return submitRankingHedging(mapping, form, request, response); } @@ -592,13 +595,67 @@ return startRating(mapping, form, request, response, service, sessionMap, toolSessionId, user, mode, criteria, next); } + /** + * Submit any comments not already submitted and go back to the main learning screen. + */ /** * Submit the ranking / hedging data and go back to the main learning screen. * * @throws IOException * @throws ServletException * */ + public ActionForward submitComments(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) throws IOException, ServletException { + + IPeerreviewService service = getPeerreviewService(); + + String sessionMapID = request.getParameter(PeerreviewConstants.ATTR_SESSION_MAP_ID); + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute( + sessionMapID); + request.setAttribute(PeerreviewConstants.ATTR_SESSION_MAP_ID, sessionMapID); + + ToolAccessMode mode = (ToolAccessMode) sessionMap.get(AttributeNames.ATTR_MODE); + PeerreviewUser user = (PeerreviewUser) sessionMap.get(PeerreviewConstants.ATTR_USER); + Long toolSessionId = (Long) sessionMap.get(PeerreviewConstants.PARAM_TOOL_SESSION_ID); + + Peerreview peerreview = service.getPeerreviewBySessionId(toolSessionId); + + Long criteriaId = WebUtil.readLongParam(request, "criteriaId"); + RatingCriteria criteria = service.getCriteriaByCriteriaId(criteriaId); + + if ( ! ( peerreview.getLockWhenFinished() && user.isSessionFinished() ) ) { + + Integer userId = user.getUserId().intValue(); + for (String key : request.getParameterMap().keySet()) { + if (key.startsWith("comment-textarea-")) { + String itemIdString = key.substring(17); + Long itemId = new Long(itemIdString); + String comment = request.getParameter(key); + if ( comment != null && comment.length() > 0 ) { + // save the comment to the database. + service.commentItem(criteria, userId, itemId, comment); + } + } + } + } + + request.setAttribute(PeerreviewConstants.ATTR_SESSION_MAP_ID, sessionMap.getSessionID()); + request.setAttribute(AttributeNames.ATTR_MODE, mode); + request.setAttribute(PeerreviewConstants.PARAM_TOOL_SESSION_ID, toolSessionId); + + Boolean next = WebUtil.readBooleanParam(request, "next"); + + // goto standard screen + return startRating(mapping, form, request, response, service, sessionMap, toolSessionId, user, mode, criteria, next); + } + /** + * Submit the ranking / hedging data and go back to the main learning screen. + * + * @throws IOException + * @throws ServletException + * + */ public ActionForward submitRankingHedging(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { 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.6 -r1.1.2.7 --- lams_tool_preview/web/WEB-INF/struts-config.xml 26 Oct 2016 04:18:49 -0000 1.1.2.6 +++ lams_tool_preview/web/WEB-INF/struts-config.xml 16 Nov 2016 04:46:28 -0000 1.1.2.7 @@ -108,6 +108,13 @@ parameter="edit" > + + + + + Index: lams_tool_preview/web/pages/learning/comment.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_preview/web/pages/learning/Attic/comment.jsp,v diff -u -r1.1.2.1 -r1.1.2.2 --- lams_tool_preview/web/pages/learning/comment.jsp 10 Oct 2016 00:31:04 -0000 1.1.2.1 +++ lams_tool_preview/web/pages/learning/comment.jsp 16 Nov 2016 04:46:16 -0000 1.1.2.2 @@ -94,7 +94,7 @@ rows += '
'; rows += ''; rows += '
'; - rows += ''; + rows += ''; rows += '
'; rows += '
'; rows += '
'; @@ -123,22 +123,37 @@ }); }); - function submitEntry(next) { - // data saved by the tick boxes so don't use next button to submit - nextprev(next); + + function submitEntry(next){ + // ratings already saved, just save any unsaved comments. + hideButtons(); + $("#next").val(next); + $('textarea').each(function() { + if (this.value==this.defaultValue) + this.value=""; + }); + $("#editForm").submit(); } + - - - - - - - - - +
" method="get" id="editForm"> + + + + + + + + + + + + + + +
+
- Index: lams_tool_preview/web/pages/learning/star.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_preview/web/pages/learning/Attic/star.jsp,v diff -u -r1.1.2.3 -r1.1.2.4 --- lams_tool_preview/web/pages/learning/star.jsp 13 Nov 2016 13:19:19 -0000 1.1.2.3 +++ lams_tool_preview/web/pages/learning/star.jsp 16 Nov 2016 04:46:16 -0000 1.1.2.4 @@ -136,11 +136,14 @@ //show comments textarea and a submit button } else if (!isDisabled) { - rows += '
'; + rows += '