Index: lams_tool_daco/db/sql/create_lams_tool_daco.sql =================================================================== RCS file: /usr/local/cvsroot/lams_tool_daco/db/sql/create_lams_tool_daco.sql,v diff -u -r1.1 -r1.2 --- lams_tool_daco/db/sql/create_lams_tool_daco.sql 3 Jul 2008 06:12:09 -0000 1.1 +++ lams_tool_daco/db/sql/create_lams_tool_daco.sql 4 Jul 2008 02:42:00 -0000 1.2 @@ -122,6 +122,6 @@ (1,NULL,NULL,NULL,'Daco','0','0',0,0,'Instructions ',null,null,0,0,${default_content_id},0); INSERT INTO `tl_ladaco10_questions` (`uid`, `description`, `organization_xml`, `create_by`, `create_date`, `create_by_author`, `is_hide`, `is_required`, `question_type`, `min_constraint`, `max_constraint`,`digits_decimal`,`summary`, `content_uid`, `session_uid`) VALUES - (1,'
Web Search
',NULL,null,NOW(),1,0,1,1,NULL,NULL,NULL,NULL,1,NULL); + (1,'
What is your favourite colour?
',NULL,null,NOW(),1,0,0,1,NULL,NULL,NULL,NULL,1,NULL); SET FOREIGN_KEY_CHECKS=1; \ No newline at end of file Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java,v diff -u -r1.1 -r1.2 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java 3 Jul 2008 06:12:10 -0000 1.1 +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/DacoConstants.java 4 Jul 2008 02:41:59 -0000 1.2 @@ -58,8 +58,9 @@ public static final String[] IMAGE_EXTENSIONS = new String[] { "GIF", "JPG", "PNG" }; // format for the date question - public static final String DATE_FORMAT = "dd-MM-yyyy"; - + public static final String DATE_PART_DELIMETER = "-"; + public static final String DATE_FORMAT = "dd" + DacoConstants.DATE_PART_DELIMETER + "MM" + DacoConstants.DATE_PART_DELIMETER + + "yyyy"; // for action forward name public static final String SUCCESS = "success"; public static final String ERROR = "error"; Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/LearningAction.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/LearningAction.java,v diff -u -r1.1 -r1.2 --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/LearningAction.java 3 Jul 2008 06:12:08 -0000 1.1 +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/LearningAction.java 4 Jul 2008 02:41:59 -0000 1.2 @@ -299,6 +299,8 @@ List> records = (List>) sessionMap.get(DacoConstants.ATTR_RECORD_LIST); int displayedRecordNumber = recordForm.getDisplayedRecordNumber(); + System.out.print(displayedRecordNumber); + System.out.print(records.size()); boolean isEdit = false; if (displayedRecordNumber <= records.size()) { record = records.get(displayedRecordNumber - 1); @@ -329,13 +331,20 @@ switch (question.getType()) { case DacoConstants.QUESTION_TYPE_DATE: { - int day = Integer.parseInt(recordForm.getAnswer(formAnswerNumber++)); - int month = Integer.parseInt(recordForm.getAnswer(formAnswerNumber++)); - int year = Integer.parseInt(recordForm.getAnswer(formAnswerNumber)); - DateFormat dateFormat = new SimpleDateFormat(DacoConstants.DATE_FORMAT); - Calendar calendar = Calendar.getInstance(); - calendar.set(year, month, day); - answer.setAnswer(dateFormat.format(calendar.getTime())); + String[] dateParts = new String[] { recordForm.getAnswer(formAnswerNumber++), + recordForm.getAnswer(formAnswerNumber++), recordForm.getAnswer(formAnswerNumber) }; + if (!(StringUtils.isBlank(dateParts[0]) || StringUtils.isBlank(dateParts[1]) || StringUtils + .isBlank(dateParts[2]))) { + DateFormat dateFormat = new SimpleDateFormat(DacoConstants.DATE_FORMAT); + Calendar calendar = Calendar.getInstance(); + calendar.set(Integer.parseInt(dateParts[2]), Integer.parseInt(dateParts[1]), Integer + .parseInt(dateParts[0])); + answer.setAnswer(dateFormat.format(calendar.getTime())); + } + else { + answer.setAnswer(null); + + } } formAnswerNumber++; break; @@ -366,8 +375,9 @@ } else { for (int checkboxNumber = 0; checkboxNumber < checkboxes.length; checkboxNumber++) { + System.out.println("CHECKBOX " + checkboxNumber + ": " + checkboxes[checkboxNumber]); answer.setAnswer(checkboxes[checkboxNumber]); - if (checkboxNumber < checkboxes.length) { + if (checkboxNumber < checkboxes.length - 1) { service.saveOrUpdateAnswer(answer); record.add(answer); answer = (DacoAnswer) answer.clone(); @@ -383,8 +393,13 @@ case DacoConstants.QUESTION_TYPE_LONGLAT: { answer.setAnswer(recordForm.getAnswer(formAnswerNumber++)); service.saveOrUpdateAnswer(answer); - record.add(answer); - answer = (DacoAnswer) answer.clone(); + if (isEdit) { + answer = record.get(answerNumber++); + } + else { + record.add(answer); + answer = (DacoAnswer) answer.clone(); + } answer.setAnswer(recordForm.getAnswer(formAnswerNumber)); } formAnswerNumber++; @@ -890,12 +905,14 @@ recordForm.setSessionMapID(sessionMapID); StringBuilder checkboxes = null; int checkboxQuestionNumber = 0; + int formAnswerNumber = 0; for (int answerNumber = 0; answerNumber < record.size(); answerNumber++) { DacoAnswer answer = record.get(answerNumber); - if (answer.getQuestion().getType() == DacoConstants.QUESTION_TYPE_CHECKBOX) { + short questionType = answer.getQuestion().getType(); + if (questionType == DacoConstants.QUESTION_TYPE_CHECKBOX) { if (checkboxes == null) { checkboxes = new StringBuilder(record.size() * 3); - checkboxQuestionNumber = answerNumber; + checkboxQuestionNumber = formAnswerNumber; } checkboxes.append(answer.getAnswer()).append('&'); } @@ -904,7 +921,21 @@ recordForm.setAnswer(checkboxQuestionNumber, checkboxes.toString()); checkboxes = null; } - recordForm.setAnswer(answerNumber, answer.getAnswer()); + if (questionType == DacoConstants.QUESTION_TYPE_DATE) { + String[] dateParts = null; + if (answer.getAnswer() != null) { + dateParts = answer.getAnswer().split(DacoConstants.DATE_PART_DELIMETER); + } + else { + dateParts = new String[] { null, null, null }; + } + recordForm.setAnswer(formAnswerNumber++, dateParts[0]); + recordForm.setAnswer(formAnswerNumber++, dateParts[1]); + recordForm.setAnswer(formAnswerNumber++, dateParts[2]); + } + else if (!(questionType == DacoConstants.QUESTION_TYPE_FILE || questionType == DacoConstants.QUESTION_TYPE_IMAGE)) { + recordForm.setAnswer(formAnswerNumber++, answer.getAnswer()); + } } } if (checkboxes != null) { Index: lams_tool_daco/web/pages/learning/listRecords.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_daco/web/pages/learning/listRecords.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_daco/web/pages/learning/listRecords.jsp 3 Jul 2008 06:12:08 -0000 1.1 +++ lams_tool_daco/web/pages/learning/listRecords.jsp 4 Jul 2008 02:42:00 -0000 1.2 @@ -134,7 +134,11 @@ - ${answer.answer} + + + ${answerOption.answerOption} + + Index: lams_tool_daco/web/pages/learning/listRecordsHorizontalPart.jsp =================================================================== RCS file: /usr/local/cvsroot/lams_tool_daco/web/pages/learning/listRecordsHorizontalPart.jsp,v diff -u -r1.1 -r1.2 --- lams_tool_daco/web/pages/learning/listRecordsHorizontalPart.jsp 3 Jul 2008 06:12:08 -0000 1.1 +++ lams_tool_daco/web/pages/learning/listRecordsHorizontalPart.jsp 4 Jul 2008 02:42:00 -0000 1.2 @@ -64,14 +64,14 @@ + id="lastHorizontalQuestion" > - + @@ -90,22 +90,36 @@ - - - checked="checked" - - > - ${answerOption.answerOption}
-
+ + + + + +
+ + + + + + checked="checked" + + > + ${answerOption.answerOption}
+ +
- ${answer.answer} + + + ${answerOption.answerOption} + +