Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/GeneralLearnerFlowDTO.java =================================================================== diff -u -r2f725f8ef2aa09a2663b2335bf67213074426d11 -r70e7323be9b50d1e8c3902cde43cbe5039181541 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/GeneralLearnerFlowDTO.java (.../GeneralLearnerFlowDTO.java) (revision 2f725f8ef2aa09a2663b2335bf67213074426d11) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/dto/GeneralLearnerFlowDTO.java (.../GeneralLearnerFlowDTO.java) (revision 70e7323be9b50d1e8c3902cde43cbe5039181541) @@ -116,7 +116,7 @@ protected String useSelectLeaderToolOuput; - protected String allowRateAnswers; + protected boolean allowRateAnswers; /** * @return Returns the usernameVisible. @@ -718,11 +718,11 @@ this.useSelectLeaderToolOuput = useSelectLeaderToolOuput; } - public String getAllowRateAnswers() { + public boolean isAllowRateAnswers() { return allowRateAnswers; } - public void setAllowRateAnswers(String allowRateAnswers) { + public void setAllowRateAnswers(boolean allowRateAnswers) { this.allowRateAnswers = allowRateAnswers; } } Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java =================================================================== diff -u -r6668d717bec2c56125019a19b256013f5c05269e -r70e7323be9b50d1e8c3902cde43cbe5039181541 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision 6668d717bec2c56125019a19b256013f5c05269e) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/IQaService.java (.../IQaService.java) (revision 70e7323be9b50d1e8c3902cde43cbe5039181541) @@ -162,6 +162,8 @@ void createQaContent(QaContent qa); void updateResponseVisibility(Long responseUid, boolean visible); + + boolean isRatingsEnabled(QaContent qaContent); QaQueUsr getUserByIdAndSession(final Long queUsrId, final Long qaSessionId); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java =================================================================== diff -u -r6668d717bec2c56125019a19b256013f5c05269e -r70e7323be9b50d1e8c3902cde43cbe5039181541 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 6668d717bec2c56125019a19b256013f5c05269e) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/service/QaServicePOJO.java (.../QaServicePOJO.java) (revision 70e7323be9b50d1e8c3902cde43cbe5039181541) @@ -845,6 +845,22 @@ public boolean isCommentsEnabled(Long toolContentId) { return ratingService.isCommentsEnabled(toolContentId); } + + @Override + public boolean isRatingsEnabled(QaContent qaContent) { + //check if allow rate answers is ON and also that there is at least one non-comments rating criteria available + boolean allowRateAnswers = false; + if (qaContent.isAllowRateAnswers()) { + List ratingCriterias = getRatingCriterias(qaContent.getQaContentId()); + for (RatingCriteria ratingCriteria : ratingCriterias) { + if (!ratingCriteria.isCommentsEnabled()) { + allowRateAnswers = true; + break; + } + } + } + return allowRateAnswers; + } @Override public List getRatingCriteriaDtos(Long contentId, Collection itemIds, Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java =================================================================== diff -u -r2f725f8ef2aa09a2663b2335bf67213074426d11 -r70e7323be9b50d1e8c3902cde43cbe5039181541 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java (.../LearningUtil.java) (revision 2f725f8ef2aa09a2663b2335bf67213074426d11) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/LearningUtil.java (.../LearningUtil.java) (revision 70e7323be9b50d1e8c3902cde43cbe5039181541) @@ -61,7 +61,7 @@ qaLearningForm.setTotalQuestionCount(totalQuestionCount); } - public static GeneralLearnerFlowDTO buildGeneralLearnerFlowDTO(QaContent qaContent) { + public static GeneralLearnerFlowDTO buildGeneralLearnerFlowDTO(IQaService service, QaContent qaContent) { GeneralLearnerFlowDTO generalLearnerFlowDTO = new GeneralLearnerFlowDTO(); generalLearnerFlowDTO.setActivityTitle(qaContent.getTitle()); generalLearnerFlowDTO.setActivityInstructions(qaContent.getInstructions()); @@ -78,10 +78,11 @@ generalLearnerFlowDTO.setAllowRichEditor(new Boolean(qaContent.isAllowRichEditor()).toString()); generalLearnerFlowDTO .setUseSelectLeaderToolOuput(new Boolean(qaContent.isUseSelectLeaderToolOuput()).toString()); - generalLearnerFlowDTO.setAllowRateAnswers(new Boolean(qaContent.isAllowRateAnswers()).toString()); - generalLearnerFlowDTO.setTotalQuestionCount(new Integer(qaContent.getQaQueContents().size())); + //check if allow rate answers is ON and also that there is at least one non-comments rating criteria available + generalLearnerFlowDTO.setAllowRateAnswers(service.isRatingsEnabled(qaContent)); + //create mapQuestions Map mapQuestions = new TreeMap(); for (QaQueContent question : qaContent.getQaQueContents()) { Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java =================================================================== diff -u -rc88e5df1e9ddf244579772d913c0b696c731b3ab -r70e7323be9b50d1e8c3902cde43cbe5039181541 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java (.../QaLearningAction.java) (revision c88e5df1e9ddf244579772d913c0b696c731b3ab) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningAction.java (.../QaLearningAction.java) (revision 70e7323be9b50d1e8c3902cde43cbe5039181541) @@ -57,6 +57,7 @@ import org.lamsfoundation.lams.rating.dto.ItemRatingCriteriaDTO; import org.lamsfoundation.lams.rating.dto.ItemRatingDTO; import org.lamsfoundation.lams.rating.dto.RatingCommentDTO; +import org.lamsfoundation.lams.rating.model.RatingCriteria; import org.lamsfoundation.lams.tool.exception.ToolException; import org.lamsfoundation.lams.tool.qa.QaAppConstants; import org.lamsfoundation.lams.tool.qa.QaContent; @@ -127,7 +128,7 @@ return redirect; } - GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaContent); + GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaService, qaContent); String totalQuestionCount = generalLearnerFlowDTO.getTotalQuestionCount().toString(); int intTotalQuestionCount = new Integer(totalQuestionCount).intValue(); @@ -212,7 +213,7 @@ // notify teachers on response submit if (errors.isEmpty() && qaContent.isNotifyTeachersOnResponseSubmit()) { - QaLearningAction.qaService.notifyTeachersOnResponseSubmit(new Long(toolSessionID)); + qaService.notifyTeachersOnResponseSubmit(new Long(toolSessionID)); } return (mapping.findForward(forwardName)); @@ -223,7 +224,7 @@ Long toolSessionId = WebUtil.readLongParam(request, AttributeNames.PARAM_TOOL_SESSION_ID); - QaSession session = QaLearningAction.qaService.getSessionById(toolSessionId); + QaSession session = qaService.getSessionById(toolSessionId); QaQueUsr leader = session.getGroupLeader(); boolean isLeaderResponseFinalized = leader.isResponseFinalized(); @@ -309,7 +310,7 @@ QaSession qaSession = QaLearningAction.qaService.getSessionById(new Long(toolSessionID).longValue()); QaContent qaContent = qaSession.getQaContent(); - GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaContent); + GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaService, qaContent); qaLearningForm.setCurrentQuestionIndex(new Integer(1).toString()); @@ -360,7 +361,7 @@ String toolSessionID = request.getParameter(AttributeNames.PARAM_TOOL_SESSION_ID); String userID = request.getParameter("userID"); - QaQueUsr user = QaLearningAction.qaService.getUserByIdAndSession(new Long(userID), new Long(toolSessionID)); + QaQueUsr user = qaService.getUserByIdAndSession(new Long(userID), new Long(toolSessionID)); QaSession qaSession = QaLearningAction.qaService.getSessionById(new Long(toolSessionID).longValue()); QaContent qaContent = qaSession.getQaContent(); @@ -370,7 +371,7 @@ qaLearningForm.setSubmitAnswersContent(null); if (qaContent.isShowOtherAnswers()) { - GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaContent); + GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaService, qaContent); String httpSessionID = qaLearningForm.getHttpSessionID(); generalLearnerFlowDTO.setHttpSessionID(httpSessionID); @@ -394,9 +395,6 @@ boolean allowRichEditor = qaContent.isAllowRichEditor(); generalLearnerFlowDTO.setAllowRichEditor(new Boolean(allowRichEditor).toString()); - - generalLearnerFlowDTO.setAllowRateAnswers(new Boolean(qaContent.isAllowRateAnswers()).toString()); - generalLearnerFlowDTO.setUserUid(user.getQueUsrId().toString()); int sessionUserCount = 0; @@ -452,13 +450,13 @@ qaLearningForm.setToolSessionID(toolSessionID); String userID = request.getParameter("userID"); - QaQueUsr user = QaLearningAction.qaService.getUserByIdAndSession(new Long(userID), new Long(toolSessionID)); + QaQueUsr user = qaService.getUserByIdAndSession(new Long(userID), new Long(toolSessionID)); QaSession qaSession = QaLearningAction.qaService.getSessionById(new Long(toolSessionID).longValue()); QaContent qaContent = qaSession.getQaContent(); - GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaContent); + GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaService, qaContent); String httpSessionID = qaLearningForm.getHttpSessionID(); qaLearningForm.setHttpSessionID(httpSessionID); @@ -499,8 +497,6 @@ boolean useSelectLeaderToolOuput = qaContent.isUseSelectLeaderToolOuput(); generalLearnerFlowDTO.setUseSelectLeaderToolOuput(new Boolean(useSelectLeaderToolOuput).toString()); - generalLearnerFlowDTO.setAllowRateAnswers(new Boolean(qaContent.isAllowRateAnswers()).toString()); - QaQueUsr qaQueUsr = getCurrentUser(toolSessionID); generalLearnerFlowDTO.setUserUid(qaQueUsr.getQueUsrId().toString()); @@ -557,7 +553,7 @@ return redirect; } - GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaContent); + GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaService, qaContent); storeSequentialAnswer(qaLearningForm, request, generalLearnerFlowDTO, true); @@ -627,8 +623,8 @@ String totalQuestionCount = qaLearningForm.getTotalQuestionCount(); - int remainingQuestionCount = (new Long(totalQuestionCount).intValue() - - new Integer(currentQuestionIndex).intValue()) + 1; + int remainingQuestionCount = new Long(totalQuestionCount).intValue() + - new Integer(currentQuestionIndex).intValue() + 1; String userFeedback = ""; if (remainingQuestionCount != 0) { userFeedback = "Remaining question count: " + remainingQuestionCount; @@ -721,7 +717,7 @@ return redirect; } - GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaContent); + GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaService, qaContent); storeSequentialAnswer(qaLearningForm, request, generalLearnerFlowDTO, false); @@ -818,7 +814,7 @@ QaLearningAction.qaService.updateEntry(notebookEntryLocal); - GeneralLearnerFlowDTO generalLearnerFlowDTO = new GeneralLearnerFlowDTO(); + GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaService, qaContent); generalLearnerFlowDTO.setNotebookEntry(entryText); generalLearnerFlowDTO.setRequestLearningReportProgress(new Boolean(true).toString()); @@ -848,8 +844,6 @@ boolean useSelectLeaderToolOuput = qaContent.isUseSelectLeaderToolOuput(); generalLearnerFlowDTO.setUseSelectLeaderToolOuput(new Boolean(useSelectLeaderToolOuput).toString()); - generalLearnerFlowDTO.setAllowRateAnswers(new Boolean(qaContent.isAllowRateAnswers()).toString()); - NotebookEntry notebookEntry = QaLearningAction.qaService.getEntry(new Long(toolSessionID), CoreNotebookConstants.NOTEBOOK_TOOL, QaAppConstants.MY_SIGNATURE, new Integer(userID)); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java =================================================================== diff -u -r2f725f8ef2aa09a2663b2335bf67213074426d11 -r70e7323be9b50d1e8c3902cde43cbe5039181541 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java (.../QaLearningStarterAction.java) (revision 2f725f8ef2aa09a2663b2335bf67213074426d11) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaLearningStarterAction.java (.../QaLearningStarterAction.java) (revision 70e7323be9b50d1e8c3902cde43cbe5039181541) @@ -184,7 +184,7 @@ sessionMap.put(ATTR_CONTENT, qaContent); sessionMap.put(AttributeNames.USER, user); - GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaContent); + GeneralLearnerFlowDTO generalLearnerFlowDTO = LearningUtil.buildGeneralLearnerFlowDTO(qaService, qaContent); generalLearnerFlowDTO.setUserUid(user.getQueUsrId().toString()); generalLearnerFlowDTO.setHttpSessionID(sessionMapId); generalLearnerFlowDTO.setToolSessionID(toolSessionID); Index: lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java =================================================================== diff -u -r2f725f8ef2aa09a2663b2335bf67213074426d11 -r70e7323be9b50d1e8c3902cde43cbe5039181541 --- lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java (.../QaMonitoringStarterAction.java) (revision 2f725f8ef2aa09a2663b2335bf67213074426d11) +++ lams_tool_laqa/src/java/org/lamsfoundation/lams/tool/qa/web/QaMonitoringStarterAction.java (.../QaMonitoringStarterAction.java) (revision 70e7323be9b50d1e8c3902cde43cbe5039181541) @@ -138,7 +138,11 @@ boolean isGroupedActivity = qaService.isGroupedActivity(qaContent.getQaContentId()); request.setAttribute("isGroupedActivity", isGroupedActivity); - //rating stuff + //ratings stuff + boolean isRatingsEnabled = qaService.isRatingsEnabled(qaContent); + request.setAttribute("isRatingsEnabled", isRatingsEnabled); + + //comments stuff boolean isCommentsEnabled = qaService.isCommentsEnabled(qaContent.getQaContentId()); request.setAttribute("isCommentsEnabled", isCommentsEnabled); Index: lams_tool_laqa/web/learning/LearnerRep.jsp =================================================================== diff -u -rcb2ae978443fdaa7ff309e545e583ac518e37d9a -r70e7323be9b50d1e8c3902cde43cbe5039181541 --- lams_tool_laqa/web/learning/LearnerRep.jsp (.../LearnerRep.jsp) (revision cb2ae978443fdaa7ff309e545e583ac518e37d9a) +++ lams_tool_laqa/web/learning/LearnerRep.jsp (.../LearnerRep.jsp) (revision 70e7323be9b50d1e8c3902cde43cbe5039181541) @@ -121,7 +121,7 @@ var usesRatings = false; var hasStartedRating = false; - if (${generalLearnerFlowDTO.allowRateAnswers == 'true'}) { + if (${generalLearnerFlowDTO.allowRateAnswers}) { rows += ''; if (userData["visible"] == 'true') { @@ -273,7 +273,7 @@ - + @@ -337,7 +337,7 @@
- +
@@ -356,7 +356,7 @@
<%--Rating area---------------------------------------%> - +

@@ -409,7 +409,7 @@ - + Index: lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp =================================================================== diff -u -rcb2ae978443fdaa7ff309e545e583ac518e37d9a -r70e7323be9b50d1e8c3902cde43cbe5039181541 --- lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp (.../RevisitedLearnerRep.jsp) (revision cb2ae978443fdaa7ff309e545e583ac518e37d9a) +++ lams_tool_laqa/web/learning/RevisitedLearnerRep.jsp (.../RevisitedLearnerRep.jsp) (revision 70e7323be9b50d1e8c3902cde43cbe5039181541) @@ -115,7 +115,7 @@ var hasStartedRating = false; - if (${generalLearnerFlowDTO.allowRateAnswers == 'true'}) { + if (${generalLearnerFlowDTO.allowRateAnswers}) { rows += ''; if (userData["visible"] == 'true') { @@ -264,7 +264,7 @@ - + @@ -325,7 +325,7 @@
- +
@@ -345,7 +345,7 @@ <%--Rating area---------------------------------------%> - +

@@ -410,7 +410,7 @@ - + Index: lams_tool_laqa/web/monitoring/MonitoringMaincontent.jsp =================================================================== diff -u -rcb2ae978443fdaa7ff309e545e583ac518e37d9a -r70e7323be9b50d1e8c3902cde43cbe5039181541 --- lams_tool_laqa/web/monitoring/MonitoringMaincontent.jsp (.../MonitoringMaincontent.jsp) (revision cb2ae978443fdaa7ff309e545e583ac518e37d9a) +++ lams_tool_laqa/web/monitoring/MonitoringMaincontent.jsp (.../MonitoringMaincontent.jsp) (revision 70e7323be9b50d1e8c3902cde43cbe5039181541) @@ -163,7 +163,7 @@ rows += ''; - if (${qaContent.allowRateAnswers}) { + if (${isRatingsEnabled}) { rows += ''; if (userData["visible"] == 'true') { Index: lams_tool_laqa/web/monitoring/SummaryContent.jsp =================================================================== diff -u -rc88e5df1e9ddf244579772d913c0b696c731b3ab -r70e7323be9b50d1e8c3902cde43cbe5039181541 --- lams_tool_laqa/web/monitoring/SummaryContent.jsp (.../SummaryContent.jsp) (revision c88e5df1e9ddf244579772d913c0b696c731b3ab) +++ lams_tool_laqa/web/monitoring/SummaryContent.jsp (.../SummaryContent.jsp) (revision 70e7323be9b50d1e8c3902cde43cbe5039181541) @@ -58,7 +58,7 @@ - +