Index: lams_central/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r2bfac973532eed9a4d4f1611c920273684af2920 -r82cb3e631a089f00c5cf3492074aa0972f2506d0 --- lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 2bfac973532eed9a4d4f1611c920273684af2920) +++ lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 82cb3e631a089f00c5cf3492074aa0972f2506d0) @@ -534,6 +534,7 @@ authoring.fla.conditions.to.default.gate.state.confirm = All remaining conditions will be mapped to the selected gate\\'s closed state authoring.fla.conditions.to.default.branch.confirm = All remaining conditions will be mapped to the default branch authoring.fla.groups.to.default.branch.confirm = All remaining groups will be mapped to the default branch +authoring.fla.range.condition.add.start.greater.than.end.error = The start value must be less of equal to the end value authoring.fla.range.condition.add.start.error = The start value can not be within the range of an existing condition authoring.fla.range.condition.add.end.error = The end value can not be within the range of an existing condition authoring.fla.group.title.validation.erorr = Group name must not be blank and must not contain any of these characters < > ^ * @ % $ Index: lams_central/web/authoring/authoring.jsp =================================================================== diff -u -rc82d171dbdd8918839e396f2851d6e11b68bb9e8 -r82cb3e631a089f00c5cf3492074aa0972f2506d0 --- lams_central/web/authoring/authoring.jsp (.../authoring.jsp) (revision c82d171dbdd8918839e396f2851d6e11b68bb9e8) +++ lams_central/web/authoring/authoring.jsp (.../authoring.jsp) (revision 82cb3e631a089f00c5cf3492074aa0972f2506d0) @@ -269,6 +269,8 @@ CONDITIONS_TO_DEFAULT_BRANCH_CONFIRM : decoderDiv.html('').text(), GROUPS_TO_DEFAULT_BRANCH_CONFIRM : decoderDiv.html('').text(), + + RANGE_CONDITION_ADD_START_GREATER_THAN_END_ERROR: decoderDiv.html('').text(), RANGE_CONDITION_ADD_START_ERROR : decoderDiv.html('').text(), Index: lams_central/web/includes/javascript/authoring/authoringProperty.js =================================================================== diff -u -r148241ef71d53c340db44d23458316416e8f3c0f -r82cb3e631a089f00c5cf3492074aa0972f2506d0 --- lams_central/web/includes/javascript/authoring/authoringProperty.js (.../authoringProperty.js) (revision 148241ef71d53c340db44d23458316416e8f3c0f) +++ lams_central/web/includes/javascript/authoring/authoringProperty.js (.../authoringProperty.js) (revision 82cb3e631a089f00c5cf3492074aa0972f2506d0) @@ -1291,25 +1291,32 @@ } break; } + + if (typeof condition.startValue != 'undefined' && typeof condition.endValue != 'undefined' + && +condition.startValue > +condition.endValue) { + alert(LABELS.RANGE_CONDITION_ADD_START_GREATER_THAN_END_ERROR); + return; + } $('td', rangeConditionNames).closest('tr').each(function(){ var existingCondition = $(this).data('mappingEntry').condition; + // validate the new condition so it does not overlap with an existing one - if ((typeof condition.startValue == 'undefined' && existingCondition.startValue <= condition.endValue) + if ((typeof condition.startValue == 'undefined' && +existingCondition.startValue <= +condition.endValue) || (typeof condition.endValue == 'undefined' - && (typeof existingCondition.endValue == 'undefined' || existingCondition.endValue >= condition.startValue)) - || (!(condition.startValue > existingCondition.endValue) && !(condition.endValue < existingCondition.startValue))) { - layout.infoDialog.data('show')(LABELS.RANGE_CONDITION_ADD_START_ERROR); + && (typeof existingCondition.endValue == 'undefined' || +existingCondition.endValue >= +condition.startValue)) + || (!(+condition.startValue > +existingCondition.endValue) && !(+condition.endValue < +existingCondition.startValue))) { + alert(LABELS.RANGE_CONDITION_ADD_START_ERROR); condition = null; return false; } - if ((typeof condition.endValue == 'undefined' && existingCondition.endValue >= condition.startValue) + if ((typeof condition.endValue == 'undefined' && +existingCondition.endValue >= +condition.startValue) || (typeof condition.startValue == 'undefined' - && (typeof existingCondition.startValue == 'undefined' || existingCondition.startValue <= condition.endValue)) - || (!(condition.endValue < existingCondition.startValue) && !(condition.startValue > existingCondition.endValue))) { - layout.infoDialog.data('show')(LABELS.RANGE_CONDITION_ADD_END_ERROR); + && (typeof existingCondition.startValue == 'undefined' || +existingCondition.startValue <= +condition.endValue)) + || (!(+condition.endValue < +existingCondition.startValue) && !(+condition.startValue > +existingCondition.endValue))) { + alert(LABELS.RANGE_CONDITION_ADD_END_ERROR); condition = null; return false; }