From aaff1b21b0a5d29358cbefdc73ddbef7f75ee04c Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Thu, 12 May 2016 09:12:51 +0200 Subject: [PATCH] OO-2018: validate the cut value in scorm course element editor --- .../nodes/scorm/ScormEditController.java | 34 ++++++++++--------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/olat/course/nodes/scorm/ScormEditController.java b/src/main/java/org/olat/course/nodes/scorm/ScormEditController.java index 0831138d1f5..f1605e49287 100644 --- a/src/main/java/org/olat/course/nodes/scorm/ScormEditController.java +++ b/src/main/java/org/olat/course/nodes/scorm/ScormEditController.java @@ -97,7 +97,6 @@ public class ScormEditController extends ActivateableTabbableDefaultController i public static final String CONFIG_CUTVALUE = "cutvalue"; public static final String CONFIG_DELIVERY_OPTIONS = "deliveryOptions"; - //fxdiff FXOLAT-116: SCORM improvements public final static String CONFIG_FULLWINDOW = "fullwindow"; public final static String CONFIG_CLOSE_ON_FINISH = "CLOSEONFINISH"; @@ -202,7 +201,6 @@ public class ScormEditController extends ActivateableTabbableDefaultController i boolean advanceScore = config.getBooleanSafe(CONFIG_ADVANCESCORE, true); // </OLATCE-289> int cutvalue = config.getIntegerSafe(CONFIG_CUTVALUE, 0); - //fxdiff FXOLAT-116: SCORM improvements boolean fullWindow = config.getBooleanSafe(CONFIG_FULLWINDOW, true); boolean closeOnFinish = config.getBooleanSafe(CONFIG_CLOSE_ON_FINISH, false); @@ -308,13 +306,11 @@ public class ScormEditController extends ActivateableTabbableDefaultController i //save form-values to config config.setBooleanEntry(CONFIG_SHOWMENU, scorevarform.isShowMenu()); - //fxdiff FXOLAT-322 config.setBooleanEntry(CONFIG_SKIPLAUNCHPAGE, scorevarform.isSkipLaunchPage()); config.setBooleanEntry(CONFIG_SHOWNAVBUTTONS, scorevarform.isShowNavButtons()); config.setBooleanEntry(CONFIG_ISASSESSABLE, scorevarform.isAssessable()); config.setStringValue(CONFIG_ASSESSABLE_TYPE, scorevarform.getAssessableType()); config.setIntValue(CONFIG_CUTVALUE, scorevarform.getCutValue()); - //fxdiff FXOLAT-116: SCORM improvements config.setBooleanEntry(CONFIG_FULLWINDOW, scorevarform.isFullWindow()); config.setBooleanEntry(CONFIG_CLOSE_ON_FINISH, scorevarform.isCloseOnFinish()); // <OLATCE-289> @@ -408,17 +404,17 @@ public class ScormEditController extends ActivateableTabbableDefaultController i class VarForm extends FormBasicController { private SelectionElement showMenuEl; private SelectionElement showNavButtonsEl; - private SelectionElement fullWindowEl;//fxdiff FXOLAT-116: SCORM improvements - private SelectionElement closeOnFinishEl;//fxdiff FXOLAT-116: SCORM improvements + private SelectionElement fullWindowEl; + private SelectionElement closeOnFinishEl; private SelectionElement isAssessableEl; - private SelectionElement skipLaunchPageEl; //fxdiff FXOLAT-322 : skip start-page / auto-launch + private SelectionElement skipLaunchPageEl; private IntegerElement cutValueEl; private boolean showMenu, showNavButtons, skipLaunchPage; private String assessableType; private int cutValue; - private boolean fullWindow;//fxdiff FXOLAT-116: SCORM improvements - private boolean closeOnFinish;//fxdiff FXOLAT-116: SCORM improvements + private boolean fullWindow; + private boolean closeOnFinish; private String[] assessableKeys, assessableValues; // <OLATCE-289> @@ -447,7 +443,6 @@ class VarForm extends FormBasicController { this.showNavButtons = showNavButtons; this.assessableType = assessableType; this.cutValue = cutValue; - //fxdiff FXOLAT-116: SCORM improvements this.fullWindow = fullWindow; this.closeOnFinish = closeOnFinish; @@ -472,11 +467,11 @@ class VarForm extends FormBasicController { public int getCutValue() { return cutValueEl.getIntValue(); } - //fxdiff FXOLAT-116: SCORM improvements + public boolean isFullWindow() { return fullWindowEl.isMultiselect() && fullWindowEl.isSelected(0); } - //fxdiff FXOLAT-116: SCORM improvements + public boolean isCloseOnFinish() { return closeOnFinishEl.isMultiselect() && closeOnFinishEl.isSelected(0); } @@ -508,8 +503,6 @@ class VarForm extends FormBasicController { return null; } - - @Override protected void formOK(UserRequest ureq) { fireEvent (ureq, Event.DONE_EVENT); @@ -518,7 +511,17 @@ class VarForm extends FormBasicController { @Override protected boolean validateFormLogic(UserRequest ureq) { boolean allOk = true; - + + cutValueEl.clearError(); + if(cutValueEl.isVisible() && cutValueEl.isEnabled() && StringHelper.containsNonWhitespace(cutValueEl.getValue())) { + try { + Integer.parseInt(cutValueEl.getValue()); + } catch (NumberFormatException e) { + cutValueEl.setErrorKey("cutvalue.validation", null); + allOk &= false; + } + } + return allOk && super.validateFormLogic(ureq); } @@ -534,7 +537,6 @@ class VarForm extends FormBasicController { showNavButtonsEl = uifactory.addCheckboxesHorizontal("shownavbuttons", "shownavbuttons.label", formLayout, new String[]{"xx"}, new String[]{null}); showNavButtonsEl.select("xx", showNavButtons); - //fxdiff FXOLAT-116: SCORM improvements fullWindowEl = uifactory.addCheckboxesHorizontal("fullwindow", "fullwindow.label", formLayout, new String[]{"fullwindow"}, new String[]{null}); fullWindowEl.select("fullwindow", fullWindow); -- GitLab