diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/MultipleChoiceEditorController.java b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/MultipleChoiceEditorController.java index 35af34e86e3c4ea411fd3d38b2ee5058fe9372f9..dd4494a895e507fbc4d96ea1128010a008400cd7 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/MultipleChoiceEditorController.java +++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/MultipleChoiceEditorController.java @@ -351,11 +351,13 @@ public class MultipleChoiceEditorController extends FormBasicController { newChoice.getFlowStatics().add(firstChoiceText); wrapAnswer(ureq, newChoice); + recalculateUpDownLinks(); flc.setDirty(true); } private void doRemoveSimpleChoice(SimpleChoiceWrapper choiceWrapper) { choiceWrappers.remove(choiceWrapper); + recalculateUpDownLinks(); flc.setDirty(true); } @@ -383,8 +385,8 @@ public class MultipleChoiceEditorController extends FormBasicController { int numOfChoices = choiceWrappers.size(); for(int i=0; i<numOfChoices; i++) { SimpleChoiceWrapper choiceWrapper = choiceWrappers.get(i); - choiceWrapper.getUp().setEnabled(i != 0); - choiceWrapper.getDown().setEnabled(i < (numOfChoices - 1)); + choiceWrapper.getUp().setEnabled(i != 0 && !restrictedEdit && !readOnly); + choiceWrapper.getDown().setEnabled(i < (numOfChoices - 1) && !restrictedEdit && !readOnly); } } diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/SingleChoiceEditorController.java b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/SingleChoiceEditorController.java index 04cf8247194e4edfea3463a148107545f78d23bf..de0b24ea14bdf49707d83edbdd53ea37d3879c58 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/SingleChoiceEditorController.java +++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/SingleChoiceEditorController.java @@ -335,11 +335,13 @@ public class SingleChoiceEditorController extends FormBasicController { ChoiceInteraction interaction = itemBuilder.getChoiceInteraction(); SimpleChoice newChoice = AssessmentItemFactory.createSimpleChoice(interaction, translate("new.answer"), "sc"); wrapAnswer(ureq, newChoice); + recalculateUpDownLinks(); flc.setDirty(true); } private void doRemoveSimpleChoice(SimpleChoiceWrapper choiceWrapper) { choiceWrappers.remove(choiceWrapper); + recalculateUpDownLinks(); flc.setDirty(true); } @@ -367,8 +369,8 @@ public class SingleChoiceEditorController extends FormBasicController { int numOfChoices = choiceWrappers.size(); for(int i=0; i<numOfChoices; i++) { SimpleChoiceWrapper choiceWrapper = choiceWrappers.get(i); - choiceWrapper.getUp().setEnabled(i != 0 && !restrictedEdit); - choiceWrapper.getDown().setEnabled(i < (numOfChoices - 1) && !restrictedEdit); + choiceWrapper.getUp().setEnabled(i != 0 && !restrictedEdit && !readOnly); + choiceWrapper.getDown().setEnabled(i < (numOfChoices - 1) && !restrictedEdit && !readOnly); } }