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}
-
+
- ${answer.answer}
+
+
+ ${answerOption.answerOption}
+
+
|