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 @@