Index: lams_tool_assessment/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -r58ba5e9a4ca569a813dcba759fa9e5686efb9191 -r864f2b803a021db179bce114a069ca7aadc54ce2 --- lams_tool_assessment/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 58ba5e9a4ca569a813dcba759fa9e5686efb9191) +++ lams_tool_assessment/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 864f2b803a021db179bce114a069ca7aadc54ce2) @@ -38,6 +38,10 @@ label.authoring.basic.unit.unit = Unit label.authoring.basic.unit.multiplier = Multiplier label.authoring.basic.none = None +label.authoring.basic.question.version = Version +label.authoring.basic.question.version.newer.tooltip = There is a newer version of this question +label.authoring.basic.question.version.change.tooltip = Change to this version +label.authoring.basic.question.version.stats.tooltip = See this version's stats page label.authoring.choice.add.multiple.choice = Add multiple choice label.authoring.choice.field.required = This field is required. label.authoring.choice.enter.integer = Please enter an integer. Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/AuthoringController.java =================================================================== diff -u -r22cff3dc8ce8d2e6380d0cca7bbb090a30cbd98c -r864f2b803a021db179bce114a069ca7aadc54ce2 --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 22cff3dc8ce8d2e6380d0cca7bbb090a30cbd98c) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/controller/AuthoringController.java (.../AuthoringController.java) (revision 864f2b803a021db179bce114a069ca7aadc54ce2) @@ -170,6 +170,9 @@ List randomPoolQuestions = getRandomPoolQuestions(sessionMap); randomPoolQuestions.clear(); for (AssessmentQuestion question : assessment.getQuestions()) { + // since we are iterating anyway, here fill version information to each question + qbService.fillVersionMap(question.getQbQuestion()); + if (question.isRandomQuestion()) { randomPoolQuestions.add(question); } @@ -683,6 +686,22 @@ return String.valueOf(question.isAnswerRequired()); } + @RequestMapping("/changeItemQuestionVersion") + private String changeItemQuestionVersion(@RequestParam int referenceSequenceId, @RequestParam long newQbQuestionUid, + HttpServletRequest request) { + SessionMap sessionMap = getSessionMap(request); + SortedSet questionReferences = getQuestionReferences(sessionMap); + + List rList = new ArrayList<>(questionReferences); + QuestionReference questionReference = rList.remove(referenceSequenceId); + AssessmentQuestion question = questionReference.getQuestion(); + QbQuestion newQbQuestion = qbService.getQuestionByUid(newQbQuestionUid); + qbService.fillVersionMap(newQbQuestion); + question.setQbQuestion(newQbQuestion); + + return "pages/authoring/parts/questionlist"; + } + @RequestMapping("/getAllQbQuestionUids") @ResponseBody public String getAllQbQuestionUids(HttpServletRequest request, HttpServletResponse response, Index: lams_tool_assessment/web/pages/authoring/authoring.jsp =================================================================== diff -u -r57504156db251a3ca6eb0949f66c08304b11eb87 -r864f2b803a021db179bce114a069ca7aadc54ce2 --- lams_tool_assessment/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision 57504156db251a3ca6eb0949f66c08304b11eb87) +++ lams_tool_assessment/web/pages/authoring/authoring.jsp (.../authoring.jsp) (revision 864f2b803a021db179bce114a069ca7aadc54ce2) @@ -49,6 +49,9 @@ return true; } + + // avoid name clash between bootstrap and jQuery UI + $.fn.bootstrapTooltip = $.fn.tooltip.noConflict(); Index: lams_tool_assessment/web/pages/authoring/basic.jsp =================================================================== diff -u -radd24141d43ff78942c251760e1614925db89464 -r864f2b803a021db179bce114a069ca7aadc54ce2 --- lams_tool_assessment/web/pages/authoring/basic.jsp (.../basic.jsp) (revision add24141d43ff78942c251760e1614925db89464) +++ lams_tool_assessment/web/pages/authoring/basic.jsp (.../basic.jsp) (revision 864f2b803a021db179bce114a069ca7aadc54ce2) @@ -22,6 +22,31 @@ #add-question-div { margin-top: -5px; } + + .question-type-alert { + white-space: nowrap; + display: inline-block; + margin-top: 3px; + } + .newer-version-prompt { + text-align: left; + color: orange; + font-size: 1.3em; + } + .question-version-dropdown { + margin-top: -3px; + } + + .question-version-dropdown .dropdown-menu { + min-width: 160px; + } + + .question-version-dropdown li a { + display: inline-block; + } + .question-version-dropdown li.disabled a:first-child { + text-decoration: underline; + } @@ -115,46 +118,96 @@ - - - - v. ${question.qbQuestion.version} - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + - + + + + " + onClick='javascript:window.open("qb/stats/show.do?qbQuestionUid=${maxOtherVersion.value}", "_blank")'> + + + + + + " + onClick='javascript:window.open("qb/stats/show.do?qbQuestionUid=${question.qbQuestion.version}", "_blank")'> + + +