Index: lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McQueUsr.hbm.xml
===================================================================
diff -u -r3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d -r51cec6d26c1b76f99d5c1cdcff04da5b48731de5
--- lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McQueUsr.hbm.xml (.../McQueUsr.hbm.xml) (revision 3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d)
+++ lams_tool_lamc/conf/hibernate/mappings/org/lamsfoundation/lams/tool/mc/McQueUsr.hbm.xml (.../McQueUsr.hbm.xml) (revision 51cec6d26c1b76f99d5c1cdcff04da5b48731de5)
@@ -49,6 +49,14 @@
column="responseFinalised"
length="1"
/>
+
+
-
+
@@ -804,7 +804,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: lams_tool_lamc/db/sql/create_lams_tool_mc.sql
===================================================================
diff -u -r3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d -r51cec6d26c1b76f99d5c1cdcff04da5b48731de5
--- lams_tool_lamc/db/sql/create_lams_tool_mc.sql (.../create_lams_tool_mc.sql) (revision 3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d)
+++ lams_tool_lamc/db/sql/create_lams_tool_mc.sql (.../create_lams_tool_mc.sql) (revision 51cec6d26c1b76f99d5c1cdcff04da5b48731de5)
@@ -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
===================================================================
diff -u -r3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d -r51cec6d26c1b76f99d5c1cdcff04da5b48731de5
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/pojos/McQueUsr.java (.../McQueUsr.java) (revision 3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/pojos/McQueUsr.java (.../McQueUsr.java) (revision 51cec6d26c1b76f99d5c1cdcff04da5b48731de5)
@@ -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
===================================================================
diff -u -r1d705f95c7d374192c678e101772e93f0442dae9 -r51cec6d26c1b76f99d5c1cdcff04da5b48731de5
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java (.../LearningUtil.java) (revision 1d705f95c7d374192c678e101772e93f0442dae9)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/LearningUtil.java (.../LearningUtil.java) (revision 51cec6d26c1b76f99d5c1cdcff04da5b48731de5)
@@ -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
===================================================================
diff -u -r3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d -r51cec6d26c1b76f99d5c1cdcff04da5b48731de5
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java (.../McLearningAction.java) (revision 3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningAction.java (.../McLearningAction.java) (revision 51cec6d26c1b76f99d5c1cdcff04da5b48731de5)
@@ -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
===================================================================
diff -u -r1d705f95c7d374192c678e101772e93f0442dae9 -r51cec6d26c1b76f99d5c1cdcff04da5b48731de5
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningForm.java (.../McLearningForm.java) (revision 1d705f95c7d374192c678e101772e93f0442dae9)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningForm.java (.../McLearningForm.java) (revision 51cec6d26c1b76f99d5c1cdcff04da5b48731de5)
@@ -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
===================================================================
diff -u -r3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d -r51cec6d26c1b76f99d5c1cdcff04da5b48731de5
--- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java (.../McLearningStarterAction.java) (revision 3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d)
+++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/web/McLearningStarterAction.java (.../McLearningStarterAction.java) (revision 51cec6d26c1b76f99d5c1cdcff04da5b48731de5)
@@ -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
===================================================================
diff -u -r0dccd4a293386449bfceb24e42179f9a7ad05f04 -r51cec6d26c1b76f99d5c1cdcff04da5b48731de5
--- lams_tool_lamc/web/learning/AnswersContent.jsp (.../AnswersContent.jsp) (revision 0dccd4a293386449bfceb24e42179f9a7ad05f04)
+++ lams_tool_lamc/web/learning/AnswersContent.jsp (.../AnswersContent.jsp) (revision 51cec6d26c1b76f99d5c1cdcff04da5b48731de5)
@@ -60,7 +60,8 @@
-
+
+
Index: lams_tool_lamc/web/learning/IndividualLearnerResults.jsp
===================================================================
diff -u -r3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d -r51cec6d26c1b76f99d5c1cdcff04da5b48731de5
--- lams_tool_lamc/web/learning/IndividualLearnerResults.jsp (.../IndividualLearnerResults.jsp) (revision 3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d)
+++ lams_tool_lamc/web/learning/IndividualLearnerResults.jsp (.../IndividualLearnerResults.jsp) (revision 51cec6d26c1b76f99d5c1cdcff04da5b48731de5)
@@ -51,7 +51,8 @@
-
+
+
Index: lams_tool_lamc/web/learning/RedoQuestions.jsp
===================================================================
diff -u -r0dccd4a293386449bfceb24e42179f9a7ad05f04 -r51cec6d26c1b76f99d5c1cdcff04da5b48731de5
--- lams_tool_lamc/web/learning/RedoQuestions.jsp (.../RedoQuestions.jsp) (revision 0dccd4a293386449bfceb24e42179f9a7ad05f04)
+++ lams_tool_lamc/web/learning/RedoQuestions.jsp (.../RedoQuestions.jsp) (revision 51cec6d26c1b76f99d5c1cdcff04da5b48731de5)
@@ -52,6 +52,7 @@
+
Index: lams_tool_lamc/web/learning/ResultsSummary.jsp
===================================================================
diff -u -r0dccd4a293386449bfceb24e42179f9a7ad05f04 -r51cec6d26c1b76f99d5c1cdcff04da5b48731de5
--- lams_tool_lamc/web/learning/ResultsSummary.jsp (.../ResultsSummary.jsp) (revision 0dccd4a293386449bfceb24e42179f9a7ad05f04)
+++ lams_tool_lamc/web/learning/ResultsSummary.jsp (.../ResultsSummary.jsp) (revision 51cec6d26c1b76f99d5c1cdcff04da5b48731de5)
@@ -52,6 +52,7 @@
+
Index: lams_tool_lamc/web/learning/ViewAnswers.jsp
===================================================================
diff -u -r3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d -r51cec6d26c1b76f99d5c1cdcff04da5b48731de5
--- lams_tool_lamc/web/learning/ViewAnswers.jsp (.../ViewAnswers.jsp) (revision 3ec9e4aa0ad9319ce9be7f6fa84d9f35165f698d)
+++ lams_tool_lamc/web/learning/ViewAnswers.jsp (.../ViewAnswers.jsp) (revision 51cec6d26c1b76f99d5c1cdcff04da5b48731de5)
@@ -52,6 +52,7 @@
+