Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java (.../AssessmentConstants.java) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/AssessmentConstants.java (.../AssessmentConstants.java) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -23,7 +23,6 @@ /* $Id$ */ package org.lamsfoundation.lams.tool.assessment; -import org.lamsfoundation.lams.tool.assessment.dto.RequiredQuestionsDTO; public class AssessmentConstants { public static final String TOOL_SIGNATURE = "laasse10"; @@ -202,7 +201,7 @@ public static final String ATTR_IS_USER_FAILED = "isUserFailed"; - public static final String ATTR_REQUIRED_QUESTIONS_DTO = "requiredQuestionsDTO"; + public static final String ATTR_IS_REQUIRED_ANSWER_MISSED = "isRequiredAnswerMissed"; public static final String ATTR_FINISHED_LOCK = "finishedLock"; Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20140707.sql =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20140707.sql (.../patch20140707.sql) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dbupdates/patch20140707.sql (.../patch20140707.sql) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -4,7 +4,7 @@ ----------------------Put all sql statements below here------------------------- -- LDEV-3265 Ability to set questions required to be answered -ALTER TABLE tl_laasse10_assessment_question ADD COLUMN answer_required TINYINT(1) NOT NULL DEFAULT 1; +ALTER TABLE tl_laasse10_assessment_question ADD COLUMN answer_required TINYINT(1) NOT NULL DEFAULT 0; -- LDEV-3263 Add support for renaming field names on sequence import UPDATE lams_tool SET tool_version='20140707' WHERE tool_signature='laasse10'; Fisheye: Tag 38b6d49113930570f68778048950c2df1875a6be refers to a dead (removed) revision in file `lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/dto/RequiredQuestionsDTO.java'. Fisheye: No comparison available. Pass `N' to diff? Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/AuthoringAction.java (.../AuthoringAction.java) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -465,7 +465,7 @@ questionForm.setContentFolderID(contentFolderID); questionForm.setDefaultGrade("1"); questionForm.setPenaltyFactor("0"); - questionForm.setAnswerRequired(true); + questionForm.setAnswerRequired(false); List optionList = new ArrayList(); for (int i = 0; i < AssessmentConstants.INITIAL_OPTIONS_NUMBER; i++) { @@ -916,7 +916,7 @@ question.setFeedback(assessmentQuestion.getGeneralFeedback()); question.setAnswers(answers); - questions.add(assessmentQuestion.getSequenceId() - 1, question); + questions.add(question); } String title = request.getParameter("title"); Index: lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java (.../LearningAction.java) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/src/java/org/lamsfoundation/lams/tool/assessment/web/action/LearningAction.java (.../LearningAction.java) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -54,13 +54,11 @@ import org.apache.struts.action.ActionMapping; import org.apache.tomcat.util.json.JSONException; import org.apache.tomcat.util.json.JSONObject; -import org.lamsfoundation.lams.events.IEventNotificationService; import org.lamsfoundation.lams.learning.web.bean.ActivityPositionDTO; import org.lamsfoundation.lams.learning.web.util.LearningWebUtil; import org.lamsfoundation.lams.notebook.model.NotebookEntry; import org.lamsfoundation.lams.tool.ToolAccessMode; import org.lamsfoundation.lams.tool.assessment.AssessmentConstants; -import org.lamsfoundation.lams.tool.assessment.dto.RequiredQuestionsDTO; import org.lamsfoundation.lams.tool.assessment.model.Assessment; import org.lamsfoundation.lams.tool.assessment.model.AssessmentOptionAnswer; import org.lamsfoundation.lams.tool.assessment.model.AssessmentOverallFeedback; @@ -75,7 +73,6 @@ import org.lamsfoundation.lams.tool.assessment.service.IAssessmentService; import org.lamsfoundation.lams.tool.assessment.util.SequencableComparator; import org.lamsfoundation.lams.tool.assessment.web.form.ReflectionForm; -import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.dto.UserDTO; import org.lamsfoundation.lams.util.DateUtil; import org.lamsfoundation.lams.util.WebUtil; @@ -436,11 +433,11 @@ storeUserAnswersIntoSessionMap(request); //check all required questions got answered - RequiredQuestionsDTO requiredQuestionsDTO = checkAllRequiredQuestionsAnswered(sessionMap); - //if not then forward to nextPage() - if (requiredQuestionsDTO.isRequiredAnswerMissed()) { - request.setAttribute(AssessmentConstants.ATTR_PAGE_NUMBER, requiredQuestionsDTO.getPageNumber()); - request.setAttribute(AssessmentConstants.ATTR_REQUIRED_QUESTIONS_DTO, requiredQuestionsDTO); + int pageNumberWithUnasweredQuestions = checkAllRequiredQuestionsAnswered(sessionMap); + //if some were not then forward to nextPage() + if (pageNumberWithUnasweredQuestions != 0) { + request.setAttribute(AssessmentConstants.ATTR_PAGE_NUMBER, pageNumberWithUnasweredQuestions); + request.setAttribute(AssessmentConstants.ATTR_IS_REQUIRED_ANSWER_MISSED, true); return nextPage(mapping, form, request, response); } @@ -727,16 +724,17 @@ } /** - * Get back user answers from request and store it into sessionMap. + * Checks whether all questions set as requiring an answer was answered. * - * @param request + * @param sessionMap + * @return 0 if all required questions were answered, or number of a page that contains unanswered question */ - private RequiredQuestionsDTO checkAllRequiredQuestionsAnswered(SessionMap sessionMap){ + private int checkAllRequiredQuestionsAnswered(SessionMap sessionMap){ ArrayList> pagedQuestions = (ArrayList>) sessionMap.get(AssessmentConstants.ATTR_PAGED_QUESTIONS); //array of missing required questions - List missingRequiredQuestions = new ArrayList(); + boolean isAllQuestionsAnswered = true; //iterate through all pages to find first that contains missing required questions int pageCount; @@ -771,26 +769,24 @@ isAnswered = true; } - // required question was not answered, so store its sequence id + // check all questions were answered if (!isAnswered) { - missingRequiredQuestions.add(questionCount); + isAllQuestionsAnswered = false; + break; } } questionCount++; } - if (!missingRequiredQuestions.isEmpty()) { - break; + //if found un-answered question, stop here + if (!isAllQuestionsAnswered) { + return pageCount + 1; } } - RequiredQuestionsDTO requiredQuestionsDTO = new RequiredQuestionsDTO(); - requiredQuestionsDTO.setRequiredAnswerMissed(!missingRequiredQuestions.isEmpty()); - requiredQuestionsDTO.setPageNumber(pageCount + 1); - requiredQuestionsDTO.setMissingRequiredQuestions(missingRequiredQuestions); - return requiredQuestionsDTO; + return 0; } /** Index: lams_tool_assessment/web/includes/css/assessment.css =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/web/includes/css/assessment.css (.../assessment.css) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/web/includes/css/assessment.css (.../assessment.css) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -1,3 +1,9 @@ +.field-name input[type=checkbox] { + vertical-align: bottom; + margin-right: 4px; + border: none; +} + table.forum th { font-size: inherit; border-left: none; Index: lams_tool_assessment/web/pages/authoring/parts/addessay.jsp =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/web/pages/authoring/parts/addessay.jsp (.../addessay.jsp) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/web/pages/authoring/parts/addessay.jsp (.../addessay.jsp) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -104,14 +104,14 @@
+
-
+
-
Index: lams_tool_assessment/web/pages/authoring/parts/addmatchingpairs.jsp =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/web/pages/authoring/parts/addmatchingpairs.jsp (.../addmatchingpairs.jsp) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/web/pages/authoring/parts/addmatchingpairs.jsp (.../addmatchingpairs.jsp) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -141,9 +141,9 @@
+
-
@@ -153,9 +153,9 @@
+
-

Index: lams_tool_assessment/web/pages/authoring/parts/addmultiplechoice.jsp =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/web/pages/authoring/parts/addmultiplechoice.jsp (.../addmultiplechoice.jsp) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/web/pages/authoring/parts/addmultiplechoice.jsp (.../addmultiplechoice.jsp) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -159,9 +159,9 @@
+
-
@@ -179,9 +179,9 @@
+
-

Index: lams_tool_assessment/web/pages/authoring/parts/addnumerical.jsp =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/web/pages/authoring/parts/addnumerical.jsp (.../addnumerical.jsp) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/web/pages/authoring/parts/addnumerical.jsp (.../addnumerical.jsp) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -205,9 +205,9 @@
+
-
Index: lams_tool_assessment/web/pages/authoring/parts/addordering.jsp =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/web/pages/authoring/parts/addordering.jsp (.../addordering.jsp) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/web/pages/authoring/parts/addordering.jsp (.../addordering.jsp) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -145,9 +145,9 @@
+
-
Index: lams_tool_assessment/web/pages/authoring/parts/addshortanswer.jsp =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/web/pages/authoring/parts/addshortanswer.jsp (.../addshortanswer.jsp) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/web/pages/authoring/parts/addshortanswer.jsp (.../addshortanswer.jsp) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -152,9 +152,9 @@
+
-
Index: lams_tool_assessment/web/pages/authoring/parts/addtruefalse.jsp =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/web/pages/authoring/parts/addtruefalse.jsp (.../addtruefalse.jsp) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/web/pages/authoring/parts/addtruefalse.jsp (.../addtruefalse.jsp) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -122,9 +122,9 @@
+
-
Index: lams_tool_assessment/web/pages/learning/learning.jsp =================================================================== diff -u -r3e771e28271a0ef14f3989fe84231546420df296 -r38b6d49113930570f68778048950c2df1875a6be --- lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision 3e771e28271a0ef14f3989fe84231546420df296) +++ lams_tool_assessment/web/pages/learning/learning.jsp (.../learning.jsp) (revision 38b6d49113930570f68778048950c2df1875a6be) @@ -130,7 +130,7 @@ //check if we came back due to missing required question's answer $(document).ready(function(){ - if (${requiredQuestionsDTO != null}) { + if (${isRequiredAnswerMissed == true}) { validateAnswers(); } });