Index: lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McQueUsr.hbm.xml
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/Attic/McQueUsr.hbm.xml,v
diff -u -r1.8 -r1.9
--- lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McQueUsr.hbm.xml 22 Aug 2006 21:23:05 -0000 1.8
+++ lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McQueUsr.hbm.xml 23 Aug 2006 12:23:45 -0000 1.9
@@ -49,6 +49,14 @@
column="responseFinalised"
length="1"
/>
+
+
-
+
@@ -804,7 +804,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: lams_tool_lamc/db/sql/create_lams_tool_mc.sql
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/db/sql/create_lams_tool_mc.sql,v
diff -u -r1.14 -r1.15
--- lams_tool_lamc/db/sql/create_lams_tool_mc.sql 22 Aug 2006 21:23:07 -0000 1.14
+++ lams_tool_lamc/db/sql/create_lams_tool_mc.sql 23 Aug 2006 12:23:45 -0000 1.15
@@ -73,6 +73,7 @@
, username VARCHAR(100)
, fullname VARCHAR(100)
, responseFinalised TINYINT(1) NOT NULL DEFAULT 0
+ , viewSummaryRequested TINYINT(1) NOT NULL DEFAULT 0
, PRIMARY KEY (uid)
, INDEX (mc_session_id)
, CONSTRAINT FK_tl_lamc11_que_usr_1 FOREIGN KEY (mc_session_id)
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/pojos/McQueUsr.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/pojos/McQueUsr.java,v
diff -u -r1.3 -r1.4
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/pojos/McQueUsr.java 22 Aug 2006 21:23:08 -0000 1.3
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/pojos/McQueUsr.java 23 Aug 2006 12:23:45 -0000 1.4
@@ -52,6 +52,8 @@
private String fullname;
private boolean responseFinalised;
+
+ private boolean viewSummaryRequested;
private Long mcSessionId;
@@ -162,4 +164,16 @@
public void setMcSessionId(Long mcSessionId) {
this.mcSessionId = mcSessionId;
}
+ /**
+ * @return Returns the viewSummaryRequested.
+ */
+ public boolean isViewSummaryRequested() {
+ return viewSummaryRequested;
+ }
+ /**
+ * @param viewSummaryRequested The viewSummaryRequested to set.
+ */
+ public void setViewSummaryRequested(boolean viewSummaryRequested) {
+ this.viewSummaryRequested = viewSummaryRequested;
+ }
}
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java,v
diff -u -r1.35 -r1.36
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java 30 Jul 2006 22:27:23 -0000 1.35
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java 23 Aug 2006 12:23:44 -0000 1.36
@@ -64,7 +64,11 @@
String httpSessionID=request.getParameter("httpSessionID");
logger.debug("httpSessionID: " + httpSessionID);
mcLearningForm.setHttpSessionID(httpSessionID);
-
+
+ String userID=request.getParameter("userID");
+ logger.debug("userID: " + userID);
+ mcLearningForm.setUserID(userID);
+
String passMarkApplicable=request.getParameter("passMarkApplicable");
logger.debug("passMarkApplicable: " + passMarkApplicable);
mcLearningForm.setPassMarkApplicable(passMarkApplicable);
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java,v
diff -u -r1.38 -r1.39
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java 22 Aug 2006 21:23:07 -0000 1.38
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java 23 Aug 2006 12:23:45 -0000 1.39
@@ -1285,11 +1285,21 @@
IMcService mcService = McServiceProxy.getMcService(getServlet().getServletContext());
logger.debug("mcService: " + mcService);
+ String userID=request.getParameter(AttributeNames.PARAM_USER_ID);
+ logger.debug("userID: " + userID);
+
String toolSessionID=request.getParameter(AttributeNames.PARAM_TOOL_SESSION_ID);
logger.debug("toolSessionID: " + toolSessionID);
McSession mcSession=mcService.retrieveMcSession(new Long(toolSessionID));
logger.debug("retrieving mcSession: " + mcSession);
+
+ McQueUsr mcQueUsr=mcService.getMcUserBySession(new Long(userID), mcSession.getUid());
+ logger.debug("mcQueUsr: " + mcQueUsr);
+
+ mcQueUsr.setViewSummaryRequested(true);
+ mcService.updateMcQueUsr(mcQueUsr);
+ logger.debug("view summary requested by mcQueUsr: " + mcQueUsr);
String toolContentId=mcSession.getMcContent().getMcContentId().toString();
logger.debug("toolContentId: " + toolContentId);
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningForm.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningForm.java,v
diff -u -r1.23 -r1.24
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningForm.java 30 Jul 2006 22:27:23 -0000 1.23
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningForm.java 23 Aug 2006 12:23:45 -0000 1.24
@@ -49,7 +49,8 @@
protected String[] checkedCa;
protected String[] sequentialCheckedCa;
-
+
+ protected String userID;
protected String toolContentID;
protected String toolContentUID;
protected String toolSessionID;
@@ -436,4 +437,16 @@
public void setReportViewOnly(String reportViewOnly) {
this.reportViewOnly = reportViewOnly;
}
+ /**
+ * @return Returns the userID.
+ */
+ public String getUserID() {
+ return userID;
+ }
+ /**
+ * @param userID The userID to set.
+ */
+ public void setUserID(String userID) {
+ this.userID = userID;
+ }
}
Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java,v
diff -u -r1.63 -r1.64
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java 22 Aug 2006 21:23:07 -0000 1.63
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java 23 Aug 2006 12:23:45 -0000 1.64
@@ -290,17 +290,15 @@
if ((mode != null) && (mode.equals("author")))
{
logger.debug("Author requests for a preview of the content.");
- logger.debug("existing mcContent:" + mcContent);
-
- /* PREVIEW_ONLY for jsp*/
- //return (mapping.findForward(LOAD_LEARNER));
}
/* by now, we know that the mode is either teacher or learner
* check if the mode is teacher and request is for Learner Progress
*/
String userId=request.getParameter(USER_ID);
logger.debug("userId: " + userId);
+
+
if ((userId != null) && (mode.equals("teacher")))
{
logger.debug("request is for learner progress");
@@ -367,8 +365,6 @@
return (mapping.findForward(DEFINE_LATER));
}
- /*also prepare data into mapGeneralOptionsContent for combined answers view */
-
/*
* verify that userId does not already exist in the db.
* If it does exist, that means, that user already responded to the content and
@@ -390,6 +386,7 @@
}
}
+
McQueUsr mcQueUsr=mcService.getMcUserBySession(new Long(userID), mcSession.getUid());
logger.debug("mcQueUsr:" + mcQueUsr);
@@ -415,63 +412,57 @@
logger.debug("users learning mode is: " + mode);
request.setAttribute(MC_LEARNER_STARTER_DTO, mcLearnerStarterDTO);
-
+
+ boolean viewSummaryRequested=false;
/*if the user's session id AND user id exists in the tool tables go to redo questions.*/
if (mcQueUsr != null)
{
- Long sessionUid=mcQueUsr.getMcSessionId();
- logger.debug("users sessionUid: " + sessionUid);
- McSession mcUserSession= mcService.getMcSessionByUID(sessionUid);
- logger.debug("mcUserSession: " + mcUserSession);
- String userSessionId=mcUserSession.getMcSessionId().toString();
- logger.debug("userSessionId: " + userSessionId);
-
- logger.debug("current toolSessionID: " + toolSessionID);
-
- if (toolSessionID.equals(userSessionId))
- {
- logger.debug("the user's session id AND user id exists in the tool tables go to redo questions. " + toolSessionID + " mcQueUsr: " +
- mcQueUsr + " user id: " + mcQueUsr.getQueUsrId());
- logger.debug("the learner has already responsed to this content, just generate a read-only report. Use redo questions for this.");
-
- boolean isRetries=mcContent.isRetries();
- logger.debug("isRetries: " + isRetries);
- McLearningAction mcLearningAction= new McLearningAction();
- logger.debug("present to learner with previous attempts data");
+ viewSummaryRequested=mcQueUsr.isViewSummaryRequested();
+ logger.debug("viewSummaryRequested: " + viewSummaryRequested);
+
+ if (viewSummaryRequested)
+ {
+ Long sessionUid=mcQueUsr.getMcSessionId();
+ logger.debug("users sessionUid: " + sessionUid);
+ McSession mcUserSession= mcService.getMcSessionByUID(sessionUid);
+ logger.debug("mcUserSession: " + mcUserSession);
+ String userSessionId=mcUserSession.getMcSessionId().toString();
+ logger.debug("userSessionId: " + userSessionId);
- String sessionStatus=mcUserSession.getSessionStatus();
- logger.debug("sessionStatus: " +sessionStatus);
- /*one limitation by design here is that once a user finishes the activity, subsequent users in the same group are also assumed finished
- * since they belong to the same ungrouped activity and these users have the same tool session id*/
+ logger.debug("current toolSessionID: " + toolSessionID);
- boolean isResponseFinalised=mcQueUsr.isResponseFinalised();
- logger.debug("isResponseFinalised: " +isResponseFinalised);
-
- if (isResponseFinalised)
+ if (toolSessionID.equals(userSessionId))
{
- mcLearningForm.setReportViewOnly(new Boolean(true).toString());
- }
- else
- {
- mcLearningForm.setReportViewOnly(new Boolean(false).toString());
- }
+ logger.debug("the user's session id AND user id exists in the tool tables go to redo questions. " + toolSessionID + " mcQueUsr: " +
+ mcQueUsr + " user id: " + mcQueUsr.getQueUsrId());
+ logger.debug("the learner has already responsed to this content, just generate a read-only report. Use redo questions for this.");
+
+ boolean isRetries=mcContent.isRetries();
+ logger.debug("isRetries: " + isRetries);
+ McLearningAction mcLearningAction= new McLearningAction();
+ logger.debug("present to learner with previous attempts data");
+
+ String sessionStatus=mcUserSession.getSessionStatus();
+ logger.debug("sessionStatus: " +sessionStatus);
+ /*one limitation by design here is that once a user finishes the activity, subsequent users in the same group are also assumed finished
+ * since they belong to the same ungrouped activity and these users have the same tool session id*/
+
+ boolean isResponseFinalised=mcQueUsr.isResponseFinalised();
+ logger.debug("isResponseFinalised: " +isResponseFinalised);
+
+ if (isResponseFinalised)
+ {
+ mcLearningForm.setReportViewOnly(new Boolean(true).toString());
+ }
+ else
+ {
+ mcLearningForm.setReportViewOnly(new Boolean(false).toString());
+ }
-
- /*
- if (sessionStatus.equals(COMPLETED))
- {
- mcLearningForm.setReportViewOnly(new Boolean(true).toString());
- }
- else
- {
- mcLearningForm.setReportViewOnly(new Boolean(false).toString());
- }
- */
-
-
- return mcLearningAction.viewAnswers(mapping, mcLearningForm, request, response);
- }
+ return mcLearningAction.viewAnswers(mapping, mcLearningForm, request, response);
+ }
+ }
}
else if (mode.equals("teacher"))
{
@@ -533,6 +524,7 @@
}
}
+ mcLearningForm.setUserID(userID);
/*
* process incoming tool session id and later derive toolContentId from it.
Index: lams_tool_lamc/web/learning/AnswersContent.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/AnswersContent.jsp,v
diff -u -r1.18 -r1.19
--- lams_tool_lamc/web/learning/AnswersContent.jsp 23 Jul 2006 20:14:31 -0000 1.18
+++ lams_tool_lamc/web/learning/AnswersContent.jsp 23 Aug 2006 12:23:45 -0000 1.19
@@ -60,7 +60,8 @@
-
+
+
Index: lams_tool_lamc/web/learning/IndividualLearnerResults.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/Attic/IndividualLearnerResults.jsp,v
diff -u -r1.20 -r1.21
--- lams_tool_lamc/web/learning/IndividualLearnerResults.jsp 22 Aug 2006 21:23:07 -0000 1.20
+++ lams_tool_lamc/web/learning/IndividualLearnerResults.jsp 23 Aug 2006 12:23:45 -0000 1.21
@@ -51,7 +51,8 @@
-
+
+
Index: lams_tool_lamc/web/learning/RedoQuestions.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/Attic/RedoQuestions.jsp,v
diff -u -r1.13 -r1.14
--- lams_tool_lamc/web/learning/RedoQuestions.jsp 23 Jul 2006 20:14:31 -0000 1.13
+++ lams_tool_lamc/web/learning/RedoQuestions.jsp 23 Aug 2006 12:23:45 -0000 1.14
@@ -52,6 +52,7 @@
+
Index: lams_tool_lamc/web/learning/ResultsSummary.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/Attic/ResultsSummary.jsp,v
diff -u -r1.16 -r1.17
--- lams_tool_lamc/web/learning/ResultsSummary.jsp 23 Jul 2006 20:14:31 -0000 1.16
+++ lams_tool_lamc/web/learning/ResultsSummary.jsp 23 Aug 2006 12:23:45 -0000 1.17
@@ -52,6 +52,7 @@
+
Index: lams_tool_lamc/web/learning/ViewAnswers.jsp
===================================================================
RCS file: /usr/local/cvsroot/lams_tool_lamc/web/learning/ViewAnswers.jsp,v
diff -u -r1.26 -r1.27
--- lams_tool_lamc/web/learning/ViewAnswers.jsp 22 Aug 2006 21:23:07 -0000 1.26
+++ lams_tool_lamc/web/learning/ViewAnswers.jsp 23 Aug 2006 12:23:45 -0000 1.27
@@ -52,6 +52,7 @@
+