Skip to content
Snippets Groups Projects
Commit 6172938d authored by srosse's avatar srosse
Browse files

OO-2870: add validation in the case min. score is bigger than max. score

parent d27257fd
No related branches found
No related tags found
No related merge requests found
...@@ -17,6 +17,7 @@ error.import.question=Die Frage konnte wegen eine unerwartete Fehler nicht impor ...@@ -17,6 +17,7 @@ error.import.question=Die Frage konnte wegen eine unerwartete Fehler nicht impor
error.lock=Dieser Test/Fragebogen wird momentan vom Benutzer {0} editiert und ist deshalb gesperrt. error.lock=Dieser Test/Fragebogen wird momentan vom Benutzer {0} editiert und ist deshalb gesperrt.
error.lock.title=Test gesperrt error.lock.title=Test gesperrt
error.mimetype=$org.olat.core.commons.modules.bc\:WrongMimeType error.mimetype=$org.olat.core.commons.modules.bc\:WrongMimeType
error.min.score.bigger.max=Minimal erreichbare Punktzahl muss kleiner als then maximal erreichbare Punktzahl sein.
error.need.correct.answer=Sie m\u00FCssen mindestens eine Antwort als korrekt markieren. error.need.correct.answer=Sie m\u00FCssen mindestens eine Antwort als korrekt markieren.
error.positive.double=Falsches Zahlenformat, nur positive Nummer sind erlaubt. Beispiele\: 15.0, 5.5, 10 error.positive.double=Falsches Zahlenformat, nur positive Nummer sind erlaubt. Beispiele\: 15.0, 5.5, 10
error.singlechoice=Genau ein ausw\u00E4hlen error.singlechoice=Genau ein ausw\u00E4hlen
......
...@@ -17,6 +17,7 @@ error.positive.double=Only positive number are allowed. Example\: 15.0, 5.5, 10 ...@@ -17,6 +17,7 @@ error.positive.double=Only positive number are allowed. Example\: 15.0, 5.5, 10
error.import.question=An unexpected error happens during import of a question. error.import.question=An unexpected error happens during import of a question.
error.lock=This test/questionnaire is being edited by user {0} at the moment and therefore locked. error.lock=This test/questionnaire is being edited by user {0} at the moment and therefore locked.
error.lock.title=Test locked error.lock.title=Test locked
error.min.score.bigger.max=Min. score must be bigger than the max. score.
error.mimetype=$org.olat.core.commons.modules.bc\:WrongMimeType error.mimetype=$org.olat.core.commons.modules.bc\:WrongMimeType
error.missing.fib=The question need at least a gap text or a numerical input. error.missing.fib=The question need at least a gap text or a numerical input.
error.missing.hottext=The question need at least a hottext. error.missing.hottext=The question need at least a hottext.
......
...@@ -130,6 +130,23 @@ public abstract class AssessmentItemRefEditorController extends FormBasicControl ...@@ -130,6 +130,23 @@ public abstract class AssessmentItemRefEditorController extends FormBasicControl
return allOk; return allOk;
} }
protected boolean validateMinMaxScores(TextElement minScoreEl, TextElement maxScoreEl) {
boolean allOk = true;
allOk &= validateDouble(minScoreEl);
allOk &= validateDouble(maxScoreEl);
if(allOk) {
double minScore =Double.parseDouble(minScoreEl.getValue());
double maxScore = Double.parseDouble(maxScoreEl.getValue());
if(minScore > maxScore) {
minScoreEl.setErrorKey("error.min.score.bigger.max", null);
allOk &= false;
}
}
return allOk;
}
@Override @Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
if(limitAttemptsEl == source) { if(limitAttemptsEl == source) {
......
...@@ -195,8 +195,7 @@ public class ChoiceScoreController extends AssessmentItemRefEditorController imp ...@@ -195,8 +195,7 @@ public class ChoiceScoreController extends AssessmentItemRefEditorController imp
@Override @Override
protected boolean validateFormLogic(UserRequest ureq) { protected boolean validateFormLogic(UserRequest ureq) {
boolean allOk = true; boolean allOk = true;
allOk &= validateDouble(maxScoreEl); allOk &= validateMinMaxScores(minScoreEl, maxScoreEl);
allOk &= validateDouble(minScoreEl);
if(assessmentModeEl.isOneSelected() && assessmentModeEl.isSelected(1)) { if(assessmentModeEl.isOneSelected() && assessmentModeEl.isSelected(1)) {
for(ChoiceWrapper wrapper:wrappers) { for(ChoiceWrapper wrapper:wrappers) {
......
...@@ -243,8 +243,7 @@ public class HotspotChoiceScoreController extends AssessmentItemRefEditorControl ...@@ -243,8 +243,7 @@ public class HotspotChoiceScoreController extends AssessmentItemRefEditorControl
@Override @Override
protected boolean validateFormLogic(UserRequest ureq) { protected boolean validateFormLogic(UserRequest ureq) {
boolean allOk = true; boolean allOk = true;
allOk &= validateDouble(maxScoreEl); allOk &= validateMinMaxScores(minScoreEl, maxScoreEl);
allOk &= validateDouble(minScoreEl);
if(assessmentModeEl.isOneSelected() && assessmentModeEl.isSelected(1)) { if(assessmentModeEl.isOneSelected() && assessmentModeEl.isSelected(1)) {
for(HotspotChoiceWrapper wrapper:wrappers) { for(HotspotChoiceWrapper wrapper:wrappers) {
......
...@@ -215,8 +215,7 @@ public class MatchScoreController extends AssessmentItemRefEditorController impl ...@@ -215,8 +215,7 @@ public class MatchScoreController extends AssessmentItemRefEditorController impl
@Override @Override
protected boolean validateFormLogic(UserRequest ureq) { protected boolean validateFormLogic(UserRequest ureq) {
boolean allOk = true; boolean allOk = true;
allOk &= validateDouble(maxScoreEl); allOk &= validateMinMaxScores(minScoreEl, maxScoreEl);
allOk &= validateDouble(minScoreEl);
if(assessmentModeEl.isOneSelected() && assessmentModeEl.isSelected(1)) { if(assessmentModeEl.isOneSelected() && assessmentModeEl.isSelected(1)) {
for(Map.Entry<DirectedPairValue, MatchScoreWrapper> entry:scoreWrappers.entrySet()) { for(Map.Entry<DirectedPairValue, MatchScoreWrapper> entry:scoreWrappers.entrySet()) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment