Index: lams_tool_survey/conf/language/ApplicationResources.properties =================================================================== diff -u -raf90466abe57cb9be572bfc519ac6902cb8166fa -re1a0b4e8328530b90021f52f9d652db77bf44657 --- lams_tool_survey/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision af90466abe57cb9be572bfc519ac6902cb8166fa) +++ lams_tool_survey/conf/language/ApplicationResources.properties (.../ApplicationResources.properties) (revision e1a0b4e8328530b90021f52f9d652db77bf44657) @@ -71,7 +71,7 @@ label.append.text=Append text: label.next=Next label.previous=Previous - +label.of=of error.upload.failed =Upload file failed: {0} error.msg.upload.file.not.found =Could not find upload file {0}. error.msg.zip.file.exception =Could not handle zip file when uploading file. Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/SurveyConstants.java =================================================================== diff -u -raf90466abe57cb9be572bfc519ac6902cb8166fa -re1a0b4e8328530b90021f52f9d652db77bf44657 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/SurveyConstants.java (.../SurveyConstants.java) (revision af90466abe57cb9be572bfc519ac6902cb8166fa) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/SurveyConstants.java (.../SurveyConstants.java) (revision e1a0b4e8328530b90021f52f9d652db77bf44657) @@ -89,6 +89,8 @@ public static final String PREFIX_QUESTION_CHOICE = "optionChoice"; public static final String PREFIX_QUESTION_TEXT= "optionText"; public static final String ERROR_MSG_KEY = "questionError"; + public static final String ATTR_TOTAL_QUESTIONS = "totalQuestions"; + public static final String ATTR_CURRENT_QUESTIONS_IDX = "currentIdx"; //POSITION public static int POSITION_INSIDE = 0; Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java =================================================================== diff -u -raf90466abe57cb9be572bfc519ac6902cb8166fa -re1a0b4e8328530b90021f52f9d652db77bf44657 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java (.../LearningAction.java) (revision af90466abe57cb9be572bfc519ac6902cb8166fa) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/action/LearningAction.java (.../LearningAction.java) (revision e1a0b4e8328530b90021f52f9d652db77bf44657) @@ -196,11 +196,14 @@ answerForm.setQuestionSeqID(surveyItemList.firstKey()); } } + sessionMap.put(SurveyConstants.ATTR_TOTAL_QUESTIONS,surveyItemList.size()); + answerForm.setCurrentIdx(1); + if(surveyItemList.size() < 2) answerForm.setPosition(SurveyConstants.POSITION_ONLY_ONE); - else + else{ answerForm.setPosition(SurveyConstants.POSITION_FIRST); - + } //if page is locked, only go to result pages. if(lock){ return mapping.findForward(SurveyConstants.FORWARD_RESULT); @@ -216,6 +219,7 @@ SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); SortedMap surveyItemMap = getQuestionList(sessionMap); + ActionErrors errors = getAnswer(request, surveyItemMap.get(questionSeqID)); if(!errors.isEmpty()){ return mapping.getInputForward(); @@ -235,6 +239,9 @@ break; } } + //get current question index of total questions + int currIdx = new ArrayList(surveyItemMap.keySet()).indexOf(questionSeqID) + 1; + answerForm.setCurrentIdx(currIdx); //failure tolerance if(questionSeqID.equals(surveyItemMap.lastKey())) answerForm.setPosition(SurveyConstants.POSITION_LAST); @@ -263,6 +270,11 @@ questionSeqID = surveyItemMap.firstKey(); else questionSeqID = subMap.lastKey(); + + //get current question index of total questions + int currIdx = new ArrayList(surveyItemMap.keySet()).indexOf(questionSeqID) + 1; + answerForm.setCurrentIdx(currIdx); + if(questionSeqID.equals(surveyItemMap.firstKey())){ answerForm.setPosition(SurveyConstants.POSITION_FIRST); }else{ @@ -275,7 +287,16 @@ private ActionForward retake(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { AnswerForm answerForm = (AnswerForm) form; + Integer questionSeqID = answerForm.getQuestionSeqID(); answerForm.setPosition(SurveyConstants.POSITION_ONLY_ONE); + String sessionMapID = answerForm.getSessionMapID(); + + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute(sessionMapID); + SortedMap surveyItemMap = getQuestionList(sessionMap); + //get current question index of total questions + int currIdx = new ArrayList(surveyItemMap.keySet()).indexOf(questionSeqID) + 1; + answerForm.setCurrentIdx(currIdx); + return mapping.findForward(SurveyConstants.SUCCESS); } Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/form/AnswerForm.java =================================================================== diff -u -ra2c091a27056e7b41531ca140012603bf027d5b8 -re1a0b4e8328530b90021f52f9d652db77bf44657 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/form/AnswerForm.java (.../AnswerForm.java) (revision a2c091a27056e7b41531ca140012603bf027d5b8) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/form/AnswerForm.java (.../AnswerForm.java) (revision e1a0b4e8328530b90021f52f9d652db77bf44657) @@ -35,6 +35,7 @@ private String sessionMapID; private Integer questionSeqID; private int position; + private int currentIdx; public int getPosition() { return position; @@ -54,6 +55,12 @@ public void setSessionMapID(String sessionMapID) { this.sessionMapID = sessionMapID; } + public int getCurrentIdx() { + return currentIdx; + } + public void setCurrentIdx(int currentIdx) { + this.currentIdx = currentIdx; + } } Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/servlet/ExportServlet.java =================================================================== diff -u -r32c1faf5b38aebd6468e4a66f8b6c46b9ac84c2d -re1a0b4e8328530b90021f52f9d652db77bf44657 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/servlet/ExportServlet.java (.../ExportServlet.java) (revision 32c1faf5b38aebd6468e4a66f8b6c46b9ac84c2d) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/web/servlet/ExportServlet.java (.../ExportServlet.java) (revision e1a0b4e8328530b90021f52f9d652db77bf44657) @@ -56,7 +56,7 @@ private static Logger logger = Logger.getLogger(ExportServlet.class); - private final String FILENAME = "shared_surveys_main.html"; + private final String FILENAME = "survey_main.html"; public String doExport(HttpServletRequest request, HttpServletResponse response, String directoryName, Cookie[] cookies) { Index: lams_tool_survey/web/pages/learning/learning.jsp =================================================================== diff -u -raf90466abe57cb9be572bfc519ac6902cb8166fa -re1a0b4e8328530b90021f52f9d652db77bf44657 --- lams_tool_survey/web/pages/learning/learning.jsp (.../learning.jsp) (revision af90466abe57cb9be572bfc519ac6902cb8166fa) +++ lams_tool_survey/web/pages/learning/learning.jsp (.../learning.jsp) (revision e1a0b4e8328530b90021f52f9d652db77bf44657) @@ -28,10 +28,12 @@ + +

${sessionMap.title} @@ -56,6 +58,8 @@ + ${currentIdx} ${sessionMap.totalQuestions} +

<%@ include file="/pages/learning/question.jsp"%>