Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java =================================================================== diff -u -r9aab81afe045c9bff18942543f6d960fe3ec6544 -r6a354319198eb0836d4aab2180a42466c71744ba --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision 9aab81afe045c9bff18942543f6d960fe3ec6544) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision 6a354319198eb0836d4aab2180a42466c71744ba) @@ -390,6 +390,7 @@ if (question != null) { // This flushs user UID info to message if this user is a new user. question.setCreateBy(assessmentUser); + removeNewLineCharacters(question); questionList.add(question); } } @@ -1473,4 +1474,28 @@ } return paramMap; } + + /** + * Removes redundant new line characters from options left by CKEditor (otherwise it will break Javascript in + * monitor) + * + * @param question + */ + private void removeNewLineCharacters(AssessmentQuestion question) { + Set options = question.getQuestionOptions(); + if (options != null) { + for (AssessmentQuestionOption option : options) { + String optionString = option.getOptionString(); + if (optionString != null) { + option.setOptionString(optionString.replaceAll("[\n\r\f]", "")); + } + + String questionStr = option.getQuestion(); + if (questionStr != null) { + option.setQuestion(questionStr.replaceAll("[\n\r\f]", "")); + } + } + + } + } }