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 @@ +