Fisheye: Tag 1.1.2.1 refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20150706.sql'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentQuestion.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentQuestion.java,v diff -u -r1.23.2.1 -r1.23.2.2 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentQuestion.java 3 Jul 2015 16:36:02 -0000 1.23.2.1 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/model/AssessmentQuestion.java 14 Jul 2015 14:16:36 -0000 1.23.2.2 @@ -70,6 +70,8 @@ private boolean multipleAnswersAllowed; + private boolean incorrectAnswerNullifiesMark; + private String feedbackOnCorrect; private String feedbackOnPartiallyCorrect; @@ -350,7 +352,19 @@ public void setMultipleAnswersAllowed(boolean multipleAnswersAllowed) { this.multipleAnswersAllowed = multipleAnswersAllowed; } + + /** + * @hibernate.property column="incorrect_answer_nullifies_mark" + * @return + */ + public boolean isIncorrectAnswerNullifiesMark() { + return incorrectAnswerNullifiesMark; + } + public void setIncorrectAnswerNullifiesMark(boolean incorrectAnswerNullifiesMark) { + this.incorrectAnswerNullifiesMark = incorrectAnswerNullifiesMark; + } + /** * @hibernate.property column="feedback_on_correct" type="text" * @return Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java,v diff -u -r1.48.2.6 -r1.48.2.7 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java 3 Jul 2015 20:35:10 -0000 1.48.2.6 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/service/AssessmentServiceImpl.java 14 Jul 2015 14:16:36 -0000 1.48.2.7 @@ -542,12 +542,22 @@ float mark = 0; float maxMark = question.getGrade(); if (question.getType() == AssessmentConstants.QUESTION_TYPE_MULTIPLE_CHOICE) { + boolean isMarkNullified = false; for (AssessmentQuestionOption option : question.getOptions()) { if (option.getAnswerBoolean()) { mark += option.getGrade() * maxMark; + + //if option of "incorrect answer nullifies mark" is ON check if selected answer has a zero grade and if so nullify question's mark + if (question.isIncorrectAnswerNullifiesMark() && option.getGrade() == 0) { + isMarkNullified = true; + } } } + if (isMarkNullified) { + mark = 0; + } + } else if (question.getType() == AssessmentConstants.QUESTION_TYPE_MATCHING_PAIRS) { float maxMarkForCorrectAnswer = maxMark / question.getOptions().size(); for (AssessmentQuestionOption option : question.getOptions()) { @@ -2018,6 +2028,7 @@ question.setMaxWordsLimit(JsonUtil.opt(questionJSONData, "maxWordsLimit", 0)); question.setMinWordsLimit(JsonUtil.opt(questionJSONData, "minWordsLimit", 0)); question.setMultipleAnswersAllowed(JsonUtil.opt(questionJSONData, "multipleAnswersAllowed", Boolean.FALSE)); + question.setIncorrectAnswerNullifiesMark(JsonUtil.opt(questionJSONData, "incorrectAnswerNullifiesMark", Boolean.FALSE)); question.setPenaltyFactor(Float.parseFloat(JsonUtil.opt(questionJSONData, "penaltyFactor", "0.0"))); // question.setUnits(units); Needed for numerical type question Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java,v diff -u -r1.36.2.2 -r1.36.2.3 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java 3 Jul 2015 16:36:01 -0000 1.36.2.2 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java 14 Jul 2015 14:16:37 -0000 1.36.2.3 @@ -1748,6 +1748,7 @@ form.setGeneralFeedback(question.getGeneralFeedback()); form.setFeedback(question.getFeedback()); form.setMultipleAnswersAllowed(question.isMultipleAnswersAllowed()); + form.setIncorrectAnswerNullifiesMark(question.isIncorrectAnswerNullifiesMark()); form.setFeedbackOnCorrect(question.getFeedbackOnCorrect()); form.setFeedbackOnPartiallyCorrect(question.getFeedbackOnPartiallyCorrect()); form.setFeedbackOnIncorrect(question.getFeedbackOnIncorrect()); @@ -1823,6 +1824,9 @@ if (type == AssessmentConstants.QUESTION_TYPE_MULTIPLE_CHOICE) { question.setMultipleAnswersAllowed(questionForm.isMultipleAnswersAllowed()); + boolean incorrectAnswerNullifiesMark = questionForm.isMultipleAnswersAllowed() ? questionForm + .isIncorrectAnswerNullifiesMark() : false; + question.setIncorrectAnswerNullifiesMark(incorrectAnswerNullifiesMark); question.setPenaltyFactor(Float.parseFloat(questionForm.getPenaltyFactor())); question.setShuffle(questionForm.isShuffle()); question.setFeedbackOnCorrect(questionForm.getFeedbackOnCorrect()); Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentQuestionForm.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentQuestionForm.java,v diff -u -r1.7 -r1.7.2.1 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentQuestionForm.java 26 Jul 2014 00:00:05 -0000 1.7 +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/form/AssessmentQuestionForm.java 14 Jul 2015 14:16:37 -0000 1.7.2.1 @@ -50,6 +50,7 @@ private String generalFeedback; private String feedback; private boolean multipleAnswersAllowed; + private boolean incorrectAnswerNullifiesMark; private String feedbackOnCorrect; private String feedbackOnPartiallyCorrect; private String feedbackOnIncorrect; @@ -163,7 +164,15 @@ public void setMultipleAnswersAllowed(boolean multipleAnswersAllowed) { this.multipleAnswersAllowed = multipleAnswersAllowed; } + + public boolean isIncorrectAnswerNullifiesMark() { + return incorrectAnswerNullifiesMark; + } + public void setIncorrectAnswerNullifiesMark(boolean incorrectAnswerNullifiesMark) { + this.incorrectAnswerNullifiesMark = incorrectAnswerNullifiesMark; + } + public String getFeedbackOnCorrect() { return feedbackOnCorrect; } Index: lams_tool_assessment/web/pages/authoring/parts/addmultiplechoice.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/web/pages/authoring/parts/addmultiplechoice.jsp,v diff -u -r1.21.2.1 -r1.21.2.2 --- lams_tool_assessment/web/pages/authoring/parts/addmultiplechoice.jsp 2 Sep 2014 21:49:10 -0000 1.21.2.1 +++ lams_tool_assessment/web/pages/authoring/parts/addmultiplechoice.jsp 14 Jul 2015 14:16:37 -0000 1.21.2.2 @@ -100,7 +100,10 @@ } }); - + $("#multipleAnswersAllowed").on('change', function() { + $("#incorrect-answer-nullifies-mark-area").toggle(eval($(this).val())); + }).trigger("change"); + }); // post-submit callback function afterRatingSubmit(responseText, statusText) { @@ -186,6 +189,13 @@ + +
+ + +
Index: lams_tool_assessment/web/pages/learning/parts/markandpenaltyarea.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/web/pages/learning/parts/markandpenaltyarea.jsp,v diff -u -r1.7 -r1.7.2.1 --- lams_tool_assessment/web/pages/learning/parts/markandpenaltyarea.jsp 27 Jun 2014 23:18:18 -0000 1.7 +++ lams_tool_assessment/web/pages/learning/parts/markandpenaltyarea.jsp 14 Jul 2015 14:16:36 -0000 1.7.2.1 @@ -12,7 +12,7 @@
- ${question.defaultGrade} + ${question.grade} Index: lams_tool_assessment/web/pages/monitoring/parts/questionsummary.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_assessment/web/pages/monitoring/parts/questionsummary.jsp,v diff -u -r1.12.2.2 -r1.12.2.3 --- lams_tool_assessment/web/pages/monitoring/parts/questionsummary.jsp 2 Jun 2015 19:44:56 -0000 1.12.2.2 +++ lams_tool_assessment/web/pages/monitoring/parts/questionsummary.jsp 14 Jul 2015 14:16:36 -0000 1.12.2.3 @@ -179,6 +179,17 @@ + + + + + + + + + + +