Index: lams_central/src/java/org/lamsfoundation/lams/web/QuestionsController.java =================================================================== diff -u -r480b15c94636d9f68721a022f60bbd65b2d8b530 -rce84c2e17a4fad34c0ef1d2ca8140ceac7de3ff1 --- lams_central/src/java/org/lamsfoundation/lams/web/QuestionsController.java (.../QuestionsController.java) (revision 480b15c94636d9f68721a022f60bbd65b2d8b530) +++ lams_central/src/java/org/lamsfoundation/lams/web/QuestionsController.java (.../QuestionsController.java) (revision ce84c2e17a4fad34c0ef1d2ca8140ceac7de3ff1) @@ -7,10 +7,7 @@ import org.lamsfoundation.lams.questions.QuestionParser; import org.lamsfoundation.lams.questions.QuestionWordParser; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; -import org.lamsfoundation.lams.util.Configuration; -import org.lamsfoundation.lams.util.ConfigurationKeys; -import org.lamsfoundation.lams.util.FileUtil; -import org.lamsfoundation.lams.util.MessageService; +import org.lamsfoundation.lams.util.*; import org.lamsfoundation.lams.web.session.SessionManager; import org.lamsfoundation.lams.web.util.AttributeNames; import org.springframework.beans.factory.annotation.Autowired; @@ -88,7 +85,8 @@ request.setAttribute("collections", collections); } // user did not choose a file - if (!isTextBasedInput && (file == null || (isWordInput ? !packageName.endsWith(".docx") + if (!isTextBasedInput && (file == null || (isWordInput + ? !packageName.endsWith(".docx") : !(packageName.endsWith(".zip") || packageName.endsWith(".xml"))))) { errorMap.add("GLOBAL", messageService.getMessage("label.questions.file.missing")); } @@ -110,7 +108,10 @@ Class clazz = Class.forName(Configuration.AI_MODULE_CLASS, false, Configuration.class.getClassLoader()); if (clazz != null) { Method method = clazz.getMethod("parseResponse", String.class); - questions = (Question[]) method.invoke(null, request.getParameter("textInput")); + String questionsJson = request.getParameter("textInput"); + questions = (Question[]) method.invoke(null, questionsJson); + request.setAttribute("questionsJson", + questions == null || questions.length == 0 ? "" : questionsJson); request.setAttribute("editingEnabled", true); } } catch (Exception e) { Index: lams_central/web/questions/questionChoice.jsp =================================================================== diff -u -rc6890f863ca4146aeba71942af83d4a594b2c517 -rce84c2e17a4fad34c0ef1d2ca8140ceac7de3ff1 --- lams_central/web/questions/questionChoice.jsp (.../questionChoice.jsp) (revision c6890f863ca4146aeba71942af83d4a594b2c517) +++ lams_central/web/questions/questionChoice.jsp (.../questionChoice.jsp) (revision ce84c2e17a4fad34c0ef1d2ca8140ceac7de3ff1) @@ -104,7 +104,8 @@ 'type': 'post', 'dataType': 'json', 'data': { - 'questionSourceKey': '${param.questionSourceKey}' + 'questionSourceKey': '${param.questionSourceKey}', + 'ratQuestions' : JSON.stringify(${questionsJson}) }, 'complete' : function(){ $('#generateQuestionsButton').prop('disabled', false).button('reset');