diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBScoreController.java b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBScoreController.java index bf3280305dfc1a7618521125a9ac8513c2d7edf6..2c58c387b1521ca01c6d9097110e8dd0fc124556 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBScoreController.java +++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/FIBScoreController.java @@ -208,7 +208,17 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem @Override protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { if(assessmentModeEl.isOneSelected()) { - scoreCont.setVisible(assessmentModeEl.isSelected(1)); + boolean perAnswer = assessmentModeEl.isSelected(1); + scoreCont.setVisible(perAnswer); + if(perAnswer) { + for(FIBEntryWrapper wrapper:wrappers) { + Double points = wrapper.getEntry().getScore(); + if(points != null && points.doubleValue() == -1.0d) {//replace the all answers score + wrapper.getEntry().setScore(1.0d); + wrapper.getPointsEl().setValue("1.0"); + } + } + } } super.formInnerEvent(ureq, source, event); } @@ -286,7 +296,8 @@ public class FIBScoreController extends AssessmentItemRefEditorController implem } if(obj instanceof FIBEntryWrapper) { FIBEntryWrapper w = (FIBEntryWrapper)obj; - return entry == w.entry; + return entry.getResponseIdentifier() != null + && entry.getResponseIdentifier().equals(w.entry.getResponseIdentifier()); } return false; }