Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20150731.sql =================================================================== diff -u --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20150731.sql (revision 0) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20150731.sql (revision db599324881fb550c8645c904483d48ffe9f237d) @@ -0,0 +1,14 @@ +-- Turn off autocommit, so nothing is committed if there is an error +SET AUTOCOMMIT = 0; +SET FOREIGN_KEY_CHECKS=0; +----------------------Put all sql statements below here------------------------- + +-- LDEV-3522 Add justification textareas to the hedging marks question type +ALTER TABLE tl_laasse10_assessment_question ADD COLUMN hedging_justification_enabled TINYINT(1) NOT NULL DEFAULT 0; + +----------------------Put all sql statements above here------------------------- + +-- If there were no errors, commit and restore autocommit to on +COMMIT; +SET AUTOCOMMIT = 1; +SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentQuestion.java =================================================================== diff -u -rb65ddbfc914cafd2a6c682dce8faafd9f7de7747 -rdb599324881fb550c8645c904483d48ffe9f237d --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentQuestion.java (.../AssessmentQuestion.java) (revision b65ddbfc914cafd2a6c682dce8faafd9f7de7747) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentQuestion.java (.../AssessmentQuestion.java) (revision db599324881fb550c8645c904483d48ffe9f237d) @@ -99,6 +99,9 @@ //only for essay type of question private int minWordsLimit; + //only for hedging mark type of question + private boolean hedgingJustificationEnabled; + // DTO fields: private String answerString; @@ -548,6 +551,18 @@ this.minWordsLimit = minWordsLimit; } + /** + * @hibernate.property column="hedging_justification_enabled" + * @return + */ + public boolean isHedgingJustificationEnabled() { + return hedgingJustificationEnabled; + } + + public void setHedgingJustificationEnabled(boolean hedgingJustificationEnabled) { + this.hedgingJustificationEnabled = hedgingJustificationEnabled; + } + public String getAnswerString() { return answerString; } Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java =================================================================== diff -u -rb65ddbfc914cafd2a6c682dce8faafd9f7de7747 -rdb599324881fb550c8645c904483d48ffe9f237d --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision b65ddbfc914cafd2a6c682dce8faafd9f7de7747) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision db599324881fb550c8645c904483d48ffe9f237d) @@ -1758,6 +1758,7 @@ form.setAllowRichEditor(question.isAllowRichEditor()); form.setMaxWordsLimit(question.getMaxWordsLimit()); form.setMinWordsLimit(question.getMinWordsLimit()); + form.setHedgingJustificationEnabled(question.isHedgingJustificationEnabled()); if (questionIdx >= 0) { form.setQuestionIndex(new Integer(questionIdx).toString()); } @@ -1858,6 +1859,7 @@ question.setFeedbackOnCorrect(questionForm.getFeedbackOnCorrect()); question.setFeedbackOnPartiallyCorrect(questionForm.getFeedbackOnPartiallyCorrect()); question.setFeedbackOnIncorrect(questionForm.getFeedbackOnIncorrect()); + question.setHedgingJustificationEnabled(questionForm.isHedgingJustificationEnabled()); } // set options Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java =================================================================== diff -u -r21cb714b3017a073ffad794a260d772e6db980e4 -rdb599324881fb550c8645c904483d48ffe9f237d --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java (.../LearningAction.java) (revision 21cb714b3017a073ffad794a260d772e6db980e4) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java (.../LearningAction.java) (revision db599324881fb550c8645c904483d48ffe9f237d) @@ -802,10 +802,12 @@ } } - //store justificaion of hedging - String answerString = request.getParameter(AssessmentConstants.ATTR_QUESTION_PREFIX + i); - answerString = answerString.replaceAll("[\n\r\f]", ""); - question.setAnswerString(answerString); + //store justification of hedging if enabled + if (question.isHedgingJustificationEnabled()) { + String answerString = request.getParameter(AssessmentConstants.ATTR_QUESTION_PREFIX + i); + answerString = answerString.replaceAll("[\n\r\f]", ""); + question.setAnswerString(answerString); + } } } } @@ -866,8 +868,10 @@ } isAnswered = sumMarkHedging == question.getGrade(); - //verify justification of hedging is provided - isAnswered &= StringUtils.isNotBlank(question.getAnswerString()); + //verify justification of hedging is provided if it was enabled + if (question.isHedgingJustificationEnabled()) { + isAnswered &= StringUtils.isNotBlank(question.getAnswerString()); + } } // check all questions were answered Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentQuestionForm.java =================================================================== diff -u -rb65ddbfc914cafd2a6c682dce8faafd9f7de7747 -rdb599324881fb550c8645c904483d48ffe9f237d --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentQuestionForm.java (.../AssessmentQuestionForm.java) (revision b65ddbfc914cafd2a6c682dce8faafd9f7de7747) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentQuestionForm.java (.../AssessmentQuestionForm.java) (revision db599324881fb550c8645c904483d48ffe9f237d) @@ -60,6 +60,7 @@ private boolean allowRichEditor; private int maxWordsLimit; private int minWordsLimit; + private boolean hedgingJustificationEnabled; public String getSessionMapID() { return sessionMapID; @@ -245,4 +246,11 @@ this.minWordsLimit = minWordsLimit; } + public boolean isHedgingJustificationEnabled() { + return hedgingJustificationEnabled; + } + + public void setHedgingJustificationEnabled(boolean hedgingJustificationEnabled) { + this.hedgingJustificationEnabled = hedgingJustificationEnabled; + } } Index: lams_tool_assessment/web/pages/authoring/basic.jsp =================================================================== diff -u -r11d6b3d1391ab1d1aa42453aa0347a6b85fcfeaa -rdb599324881fb550c8645c904483d48ffe9f237d --- lams_tool_assessment/web/pages/authoring/basic.jsp (.../basic.jsp) (revision 11d6b3d1391ab1d1aa42453aa0347a6b85fcfeaa) +++ lams_tool_assessment/web/pages/authoring/basic.jsp (.../basic.jsp) (revision db599324881fb550c8645c904483d48ffe9f237d) @@ -115,7 +115,7 @@ // alert("using clientHeight"); } // alert("doc height "+height); - height -= document.getElementById('TB_iframeContent').offsetTop + 60; + height -= document.getElementById('TB_iframeContent').offsetTop + 140; document.getElementById('TB_iframeContent').style.height = height +"px"; TB_HEIGHT = height + 28; Index: lams_tool_assessment/web/pages/authoring/parts/addmarkhedging.jsp =================================================================== diff -u -r11d6b3d1391ab1d1aa42453aa0347a6b85fcfeaa -rdb599324881fb550c8645c904483d48ffe9f237d --- lams_tool_assessment/web/pages/authoring/parts/addmarkhedging.jsp (.../addmarkhedging.jsp) (revision 11d6b3d1391ab1d1aa42453aa0347a6b85fcfeaa) +++ lams_tool_assessment/web/pages/authoring/parts/addmarkhedging.jsp (.../addmarkhedging.jsp) (revision db599324881fb550c8645c904483d48ffe9f237d) @@ -160,6 +160,13 @@ +
+ + +
+
Index: lams_tool_assessment/web/pages/learning/learning.jsp =================================================================== diff -u -ra5725da4ffd404829baffc9c3f262f001daa41b9 -rdb599324881fb550c8645c904483d48ffe9f237d --- lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision a5725da4ffd404829baffc9c3f262f001daa41b9) +++ lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision db599324881fb550c8645c904483d48ffe9f237d) @@ -97,10 +97,15 @@ var grade = selects.length == 0 ? 0 : eval(selects.first().find('option:last-child').val()) var totalSelected = countHedgeQuestionSelectTotal(questionIndex); - var textareaValue = $("#question" + questionIndex + "__lamstextarea").val(); - var isButtonEnabled = (totalSelected == grade) && $.trim(textareaValue); + var isButtonEnabled = (totalSelected == grade); + //check if hedging justification is enabled + var justificationTextarea = $("#question" + questionIndex + "__lamstextarea"); + if( justificationTextarea.length) { + isButtonEnabled = isButtonEnabled && $.trim(justificationTextarea.val()); + } + //if totalSelected equals to question's grade - show button if (isButtonEnabled) { $("[type=button][name=submit-hedging-question" + questionIndex + "]").prop("disabled", "").removeClass("button-disabled"); @@ -450,12 +455,10 @@ } else { var grade = ${question.grade}; var totalSelected = countHedgeQuestionSelectTotal(questionIndex); - - var justificationTextareaValue = $("#question" + questionIndex + "__lamstextarea").val(); //if totalSelected not equals to question's grade OR textarea is empty or contains only white-space - show warning if (totalSelected != grade - || !$.trim(justificationTextareaValue)) { + || ${question.hedgingJustificationEnabled} && !$.trim($("#question" + questionIndex + "__lamstextarea").val())) { markHedgingWrongTotalQuestions.push("${status.index}"); } } Index: lams_tool_assessment/web/pages/learning/parts/markhedging.jsp =================================================================== diff -u -ra5725da4ffd404829baffc9c3f262f001daa41b9 -rdb599324881fb550c8645c904483d48ffe9f237d --- lams_tool_assessment/web/pages/learning/parts/markhedging.jsp (.../markhedging.jsp) (revision a5725da4ffd404829baffc9c3f262f001daa41b9) +++ lams_tool_assessment/web/pages/learning/parts/markhedging.jsp (.../markhedging.jsp) (revision db599324881fb550c8645c904483d48ffe9f237d) @@ -62,19 +62,21 @@ - - - -
- -
-
- - - - + + + + +
+ +
+
+ + + + +
Index: lams_tool_assessment/web/pages/monitoring/parts/userresponse.jsp =================================================================== diff -u -ra5725da4ffd404829baffc9c3f262f001daa41b9 -rdb599324881fb550c8645c904483d48ffe9f237d --- lams_tool_assessment/web/pages/monitoring/parts/userresponse.jsp (.../userresponse.jsp) (revision a5725da4ffd404829baffc9c3f262f001daa41b9) +++ lams_tool_assessment/web/pages/monitoring/parts/userresponse.jsp (.../userresponse.jsp) (revision db599324881fb550c8645c904483d48ffe9f237d) @@ -84,7 +84,9 @@ responseStr +='
'; - responseStr +="${questionResult.answerStringEscaped}"; + + responseStr +="${questionResult.answerStringEscaped}"; + \ No newline at end of file